diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index dfcba0f5f869899d80d1e019d80a65f8047c2de9..bdb2c7f4206e55a535eaf638272f2feca4d33bf8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -39,7 +39,7 @@ unit-test-job:
     paths:
       - errors.log
     reports:
-      junit: nosetests.xml
+      junit: nose2-junit.xml
 
 pylint-test-job:
   stage: test
diff --git a/Makefile b/Makefile
index 8a24713ca5bfa3ec427d3309c703a60a9e0d0cc9..4a4e6569b93d3cb489bb6ee706647d8fd8a5cd04 100644
--- a/Makefile
+++ b/Makefile
@@ -120,7 +120,7 @@ pylint-test: FORCE
 
 test: FORCE
 	@echo "\n${GREEN}*** Checking code with nosetests ***${NC}\n"
-	@$(PYTHON) -W always::DeprecationWarning -m nose --with-xunit
+	@$(PYTHON) -W always::DeprecationWarning -m nose2 --junit-xml
 
 
 #-------------------------------------------------------------------------------
diff --git a/nose2.cfg b/nose2.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..a7850f000fd8fb9a4b96d43d4bb81e8122cdc388
--- /dev/null
+++ b/nose2.cfg
@@ -0,0 +1,2 @@
+[unittest]
+plugins = nose2.plugins.junitxml
diff --git a/requirements-dev.pip b/requirements-dev.pip
index e92d9cb3c7fc873c0b1fe2936e839410bac9f1ed..85211981c432378064d8ddd59f612d087a06a2d9 100644
--- a/requirements-dev.pip
+++ b/requirements-dev.pip
@@ -2,7 +2,7 @@ setuptools
 wheel
 twine
 docutils<0.18
-nose==1.3.7
+nose2
 pyflakes==2.1.0
 pylint==2.2.2
 sphinx==1.8.4