我有目录,其中包含名为:
test_foo.py
每个文件都是一个测试用例。
我想
1)从命令行运行目录中的所有测试。我正在使用unittest2
,因为我们正在运行Python 2.5.1。在其中一个目录中,我尝试在命令行中键入:
python -m unittest2 discover -p 'test_*.py'
以及几个不同的变种。我没有错,但什么也没发生。我希望该目录中所有测试用例中的所有测试都能运行并获得结果。
2)我还尝试在执行此操作的目录中使用脚本:
loader = unittest2.TestLoader()
t = loader.discover('.')
如果我打印t
变量,我可以看到我的测试用例,但是从文档中我无法知道一旦拥有loader对象该怎么办。
给出您在Python上的命令行中使用} PyPI page :
unittest2
的方法,我认为您可能遗漏了the note on the ^{您是否尝试过
unit2
脚本,本说明建议将其作为Python 2.7的“作为主脚本运行包”功能的替代品?也许它的源代码也有助于找出如何从您自己的代码中发现和运行测试,如果您希望这样做的话。我在运行
python -m unittest discover
时遇到了同样的问题。这里有一个很好的检查表来验证您的设置。Nose
在允许的配置下更灵活,但未必更好。确保所有文件/目录都以
test
开头。不要使用test-something.py
,因为这不是有效的python模块名。使用test_something.py
。如果要将测试放在子目录中(例如
test/
),请确保创建一个test/__init__.py
文件,以便python将该目录视为一个包。所有类测试用例定义都必须是扩展的
unittest.TestCase
。例如一旦发现了测试,就可以使用测试运行器运行它们。
运行上面的代码将把测试结果打印出来。
相关问题 更多 >
编程相关推荐