Python单元测试,仅运行失败的测试

Joe*_*Joe 7 python tdd unit-testing

我有一个很大的 python 测试文件,使用从命令行运行的unittest。有些测试需要一段时间才能运行。这是一个轻微的痛点,因为我通常只关心我添加的最后一个测试。我想要的是这样的:

  1. 添加测试。
  2. 运行测试(其中一个失败,因为我没有编写代码使其通过)
  3. 实施行为
  4. 只运行上次失败的测试
  5. 修复我在实现代码时犯的愚蠢错误
  6. 只运行失败的测试,这次通过了
  7. 运行所有测试来找出我破坏了什么。

是否可以从命令行执行此操作?

coo*_*ugh 0

每个测试函数的声明如下:

    def test_something_something(self):
Run Code Online (Sandbox Code Playgroud)

如果在前面加下划线,比如:

    def _test_something_something(self):
Run Code Online (Sandbox Code Playgroud)

该测试将被忽略。您可以做的一件事是在 vim 中快速查找和替换。找到所有“test_”并将其替换为“_test_”,然后找到失败的一个测试并删除下划线。