2

我正在尝试使用nosetests 在我的项目中运行所有测试用例。

我 cd 到我的项目目录:

cd projects/myproject

然后我做:

nosetests

哪个输出:

----------------------------------------------------------------------
Ran 0 tests in 0.001s

OK

在 projects/myproject 我有一个名为 Encode 的包,在包内我有包含测试的 Test 目录:

Encode/
    __init__.py
    Video.py
    Ffmpeg.py
    Test/
        VideoTest.py
        FfmpegTest.py

为什么鼻子测试没有检测到我的单元测试?我所有的单元测试类都扩展了 unittest.TestCase。

4

2 回答 2

3

鼻子文档

默认情况下,与配置的 testMatch 正则表达式 ((?:^|[\b_\.-])[Tt]est) 匹配的任何函数或类 - 即在单词边界处具有 test 或 Test 或在 - 或 _ 之后) 并且存在于也匹配该表达式的模块中,将作为测试运行。

找不到您的测试,因为您的文件名与模式不匹配。例如,将它们更改为 Video_Test.py 或 Test_Video.py。顺便说一句:他们有这样的驼峰名称也很奇怪,但这不会阻止他们工作。

于 2012-06-29T14:47:30.657 回答
1

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

于 2012-06-29T14:22:43.770 回答