1

我对python代码和运行命令pytest --cov进行了单元测试,测试运行良好,但没有显示覆盖率并且错误是

INTERNALERROR>raise CoverageException("Couldn't use data file {!r}:{}".format(self.filename, msg))
INTERNALERROR> coverage.misc.CoverageException: Couldn't use data file'C:\\Users\\Desktop\\Pytest\\.coverage': Safety level may not be changed inside a transaction

需要帮助解决这个问题?

4

3 回答 3

1

这在coverage.py问题中已经提到过几次,最终发现是Python 3.6.0的一个bug,但是如果你使用3.6.1或更高版本就可以了。

如果这不包括您的情况,请随时打开有关如何重现的详细信息的问题。

于 2020-01-24T15:22:09.907 回答
0

如果您并行使用多个 pytest,则可能与https://github.com/nedbat/coveragepy/issues/883#issuecomment-650562896相关,在这种情况下,为每次运行指定不同的覆盖率文件可以修复它,例如:

export COVERAGE_FILE=.coverage.SOMETHING_SPECIFIC_FOR_EACH_RUN
于 2020-06-27T19:53:51.920 回答
0

使用覆盖率==6.3.1

这对我有用

链接到某个版本https://pypi.org/project/coverage/6.3.1/

于 2022-02-16T13:37:00.130 回答