I have a Python package built around Dask distributed. I would like to run tests via
pytest and have the coverage from these tests used for generating a report of the covered lines (e.g. via
--cov-report). However, when using Dask distributed it seems that the code coverage of the run is not fully reflected, likely due to the distributed nature of the workers.
Are there any suggestions for how to deal with such testing? I tried using the
distributed.utils_test.client pytest fixture when running my tests, but the client is orders of magnitude slower than just using
from dask.distributed.default_client as my client, which is what I have been using. The
distributed.utils_test.gen_cluster also doesn’t seem ideal because I want to run the tests across multiple cores, both to reflect their actual use and because the test suite takes too long otherwise.