diff --git a/src/compute/.gitlab-ci.yml b/src/compute/.gitlab-ci.yml
index 9bcc43664df4c0157f582d6c1a6b9cb249bca798..ac3c6721bc7db3121610928453e922044f5daa2f 100644
--- a/src/compute/.gitlab-ci.yml
+++ b/src/compute/.gitlab-ci.yml
@@ -36,11 +36,11 @@ unit test compute:
     - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi
   script:
     - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG"
-    - docker run --name $IMAGE_NAME -d -p 9090:9090 --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG
+    - docker run --name $IMAGE_NAME -d -p 9090:9090 -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG
     - sleep 5
     - docker ps -a
     - docker logs $IMAGE_NAME
-    - docker exec -i $IMAGE_NAME bash -c "pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py"
+    - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml; coverage xml -o /opt/results/${IMAGE_NAME}_coverage.xml; coverage report --include='${IMAGE_NAME}/*' --show-missing"
   after_script:
     - docker rm -f $IMAGE_NAME
     - docker network rm teraflowbridge
@@ -54,6 +54,11 @@ unit test compute:
       - src/$IMAGE_NAME/tests/Dockerfile
       - manifests/${IMAGE_NAME}service.yaml
       - .gitlab-ci.yml
+  artifacts:
+      when: always
+      reports:
+        junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml
+        cobertura: src/$IMAGE_NAME/tests/${IMAGE_NAME}_coverage.xml
 
 # Deployment of the service in Kubernetes Cluster
 deploy compute:
diff --git a/src/compute/requirements.in b/src/compute/requirements.in
index 42a56f905a011aec0df5c21c9e3b8196d7896395..42a2f3d40194e61bae5c1e14bb81eb4bc43d5504 100644
--- a/src/compute/requirements.in
+++ b/src/compute/requirements.in
@@ -8,3 +8,4 @@ prometheus-client
 pytest
 pytest-benchmark
 requests
+coverage