diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6ec60f1ce426076ab25a6ff34eb59fa0c8bc268d..405017785d0ee2a2df5aa6f0d39f82dcf2586c17 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -10,7 +10,7 @@ stages:
       alias: rabbitmq
   before_script:
     - python setup.py install
-    - pip install --break-system-packages nose2 coverage requests yapf
+    - pip install --break-system-packages nose2 coverage requests yapf nose2[coverage_plugin]
     - coverage run --append -m compile_definitions
   artifacts:
     paths:
@@ -56,7 +56,7 @@ unittest_epoll_python27:
   extends: .before_test
   image: python:2.7
   before_script:
-    - pip install nose2
+    - pip install nose2 nose2[coverage_plugin]
     - python setup.py install
   script:
     - nose2 -F -vv
diff --git a/setup.py b/setup.py
index a7086aa5633b97a9685fc5c21156ee1878ec3841..c4771e494a919910f629b2bb14d0810fac7b35f1 100644
--- a/setup.py
+++ b/setup.py
@@ -6,7 +6,7 @@ setup(keywords=['amqp', 'rabbitmq', 'client', 'network', 'ha', 'high availabilit
       version=__version__,
       packages=find_packages(include=['coolamqp', 'coolamqp.*']),
       install_requires=['six'],
-      tests_require=["pytest", "coverage"],
+      tests_require=["pytest", "coverage", "nose2[coverage_plugin]"],
       test_suite='nose2.collector.collector',
       python_requires='!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*',
       extras_require={