运行跳过的 python 测试

use*_*188 7 python python-unittest

我想从命令行运行模块中的所有单元测试,包括跳过的单元测试,而不使用诸如等的测试运行器。nose目前我有python3 -m unittest discover,但我没有看到任何选项来覆盖跳过的测试。有这个命令吗?

wrw*_*rwr 0

查看命令行实用程序的代码,似乎没有一个合理的方法来避免跳过。skip一个令人讨厌的解决方法是在发现测试之前进行猴子补丁:

python -c "import unittest as u; u.skip = lambda r: lambda t: t; u.main(None, argv=['', 'discover'])"
Run Code Online (Sandbox Code Playgroud)

(也可能是 patch unittest.case.skip;这根本不能保证有效,因为它依赖于装饰器通常的使用方式,但您会看到是否仍然跳过了任何内容。)