[英]Python unittest, running only the tests that failed
我有一个使用unittest从命令行运行的大型python测试文件。 有些测试需要一段时间才能运行。 这是一个轻度的痛点,因为我通常只关心我添加的最后一个测试。 我想要的是:
是否可以从命令行执行此操作?
每个测试函数的声明如下:
def test_something_something(self):
如果在前面添加下划线,例如:
def _test_something_something(self):
该测试将被忽略。 您可以做的一件事是快速查找并替换为vim 。 找到所有“ test_”并将其替换为“ _test_”,然后找到一个失败的测试并删除下划线。
(不是完全自动化的解决方案,但是比现有解决方案要好)
如果将测试类的名称作为参数传递给测试脚本,则仅运行该测试。 例如,如果您只想在脚本test_whatever.py
的MyTest
类中运行测试:
python3 test_whatever.py MyTest
您也可以将单个测试指定为该类的成员。 例如,假设您要在类MyTest
运行测试test_something
:
python3 test_whatever.py MyTest.test_something
只需使用--last-failed选项运行测试(您可能需要pytest)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.