在我的 Python 项目中,我们有大量的单元测试(几千个)。尽管它们在逻辑上分布在文件和类之间,但有时我需要很多时间才能找到涵盖我正在更改的功能的文件和类。
当然,我可以从某个特定的文件/类运行所有测试,但是再次因为大量的测试,连续运行它们会很耗时(我每次都在保存后执行单元测试我的 IDE 中的一个文件)。
所以总的来说,我需要一些可以同时执行以下事件的解决方案:
- 跟踪哪些文件自上次保存后发生了更改
- 跟踪这些文件中已更改的代码与覆盖该代码的单元测试之间的依赖关系
- 有选择地只执行那些覆盖受影响代码的单元测试
有没有人对类似的东西有想法?
最佳答案
您可能想结账pytest-incremental :
The idea is to execute your tests faster by executing not all of them but only the “required” ones.
通过 pypi 安装:
pip install pytest-incremental
用法:
$ py.test --inc
我认为它可以满足您的需求,它“递归地查找导入以查找依赖项(使用 AST)”并且仅运行更改的测试。
关于python - 有没有办法启动仅与更改的代码相关的单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29803333/