我有目录,其中包含类似文件的名称:test_foo.py
每个文件都是一个测试用例。
我想
1)从命令行在目录中运行所有测试。我正在使用unittest2
,因为我们正在运行Python 2.5.1。从这些目录之一中,我尝试在命令行中键入以下内容:
python -m unittest2 discover -p 'test_*.py'
和几种不同的变体。我没有错误,但是什么也没发生。我期望该目录中所有测试用例中的所有测试都能运行并获得结果。
2)我也尝试在执行此操作的目录中包含一个脚本:
loader = unittest2.TestLoader()
t = loader.discover('.')
如果我打印t
变量,我可以看到我的测试用例,但是从文档中,我一经发现就无法弄清楚如何处理加载程序对象。
运行python -m unittest discover
时遇到了相同的问题。这是一个很好的检查清单,用于验证您的设置。 Nose
在允许的配置下更灵活,但不一定更好。
确保所有文件/目录均以test
开头。不要使用test-something.py
,因为这不是有效的python模块名称。使用test_something.py
。
test/
)中,请确保创建了test/__init__.py
文件,以便python将目录视为一个包。unittest.TestCase
。例如class DataFormatTests(unittest.TestCase)