diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f5d26fc7251ed9be14c3ecc5b2cb3b8ed5a6a5b9..15763ecc7743a254ffaf6d2d4279a12e00a9e5f6 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -49,7 +49,14 @@ test:
   tags:
     - docker
   script:
-    - python -m pytest # Run the tests
+    # - python -m pytest # Run the tests
+    - pytest --cov=fxdgm --cov-report=xml --cov-report=term-missing tests/ # Run the tests and store coverage 
+  artifacts:
+    paths:
+      - coverage.xml # Save the coverage report
+    expire_in: 12 month  # Optional: Set how long to keep the artifacts (default: 30 days)
+  coverage: '/^TOTAL.*\s+(\d+\%)$/'
+
   
 # Job to deploy documentation to GitLab Pages
 pages:
diff --git a/Dockerfile b/Dockerfile
index 23fafbd54784ca6161fae604115f8b3f504fd61d..6dcdddfb3fc02ed123aa888c7c922575904e8030 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -9,7 +9,7 @@ ENV HOME /root
 # Create the environment and install packages
 # FEniCSx backend + documentation and testing dependencies
 RUN conda create --name ${CONDA_DEFAULT_ENV} python=3.12.3 -y && \
-    conda install -n ${CONDA_DEFAULT_ENV} -c conda-forge fenics-dolfinx=0.8.0 mpich=4.2.1 pyvista=0.43.10 gcc=12.4.0 sphinx=7.3.7 myst-parser=4.0.0 sphinx-copybutton=0.5.2 sphinx-rtd-theme=3.0.1 pytest==8.3.3 -y
+    conda install -n ${CONDA_DEFAULT_ENV} -c conda-forge fenics-dolfinx=0.8.0 mpich=4.2.1 pyvista=0.43.10 gcc=12.4.0 sphinx=7.3.7 myst-parser=4.0.0 sphinx-copybutton=0.5.2 sphinx-rtd-theme=3.0.1 pytest==8.3.3 pytest-cov==6.0.0  -y
 # fxdgm package from git
 RUN pip install git+https://git.rwth-aachen.de/JanHab/bsc-electrolytemodels@Package