无法使用nosetests运行测试

时间:2012-06-29 14:09:23

标签: python django nosetests

我正在尝试使用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。

2 个答案:

答案 0 :(得分:3)

来自nose docs

  

默认情况下,与配置的testMatch正则表达式((?:^ | [\ b _ \ .-])[Tt] \ test)匹配的任何函数或类 - 也就是说,在单词边界处或在 - 或_)并且生活在与该表达式匹配的模块中将作为测试运行。

由于您的文件名与模式不匹配,因此未找到您的测试。例如,将它们更改为Video_Test.py或Test_Video.py。 BTW:奇怪的是他们有像这样的camelCase名字,但这不会阻止他们工作。

答案 1 :(得分:1)

nose如果将它们隐藏在子目录中,则无法找到您的测试。你应该能够告诉它在哪里看。试试nosetests --where=Encode/Test