我正在尝试使用nosetests来运行项目中的所有测试用例。
我cd到我的项目目录:
cd projects/myproject
然后我这样做:
nosetests
哪个输出:
----------------------------------------------------------------------
Ran 0 tests in 0.001s
OK
在projects / myproject中我有一个名为Encode的包,在包中我有测试目录和测试:
Encode/
__init__.py
Video.py
Ffmpeg.py
Test/
VideoTest.py
FfmpegTest.py
为什么nosetests没有检测到我的单元测试?我的所有单元测试类都扩展了unittest.TestCase。
答案 0 :(得分:3)
来自nose docs:
默认情况下,与配置的testMatch正则表达式((?:^ | [\ b _ \ .-])[Tt] \ test)匹配的任何函数或类 - 也就是说,在单词边界处或在 - 或_)并且生活在与该表达式匹配的模块中将作为测试运行。
由于您的文件名与模式不匹配,因此未找到您的测试。例如,将它们更改为Video_Test.py或Test_Video.py。 BTW:奇怪的是他们有像这样的camelCase名字,但这不会阻止他们工作。
答案 1 :(得分:1)
nose
如果将它们隐藏在子目录中,则无法找到您的测试。你应该能够告诉它在哪里看。试试nosetests --where=Encode/Test
。