python - 有没有办法启动仅与更改的代码相关的单元测试?

标签 python unit-testing dependencies code-coverage python-unittest

在我的 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/

相关文章:

javascript - 如何使用 Chai.should 测试抛出的错误

c++ - 创建新的 C++ 控制台应用程序时 VC++ 提供 C 库吗?

Android Studio - 为所有模块添加依赖

python pandas 解析带有月份名称的日期时间字符串

python - 通过 pyodbc 在 MS SQL 中创建存储过程

python - tkinter 中的组合框字体大小

python - 如何随机生成非常小的数字?

ruby-on-rails - Rails 4 测试用户初始化总是空白

java - mock 单例类

android - Gradle项目同步失败(相关性错误)