是否有任何理由为什么Nose无法在Ubuntu 9.04中找到测试?
我正在使用带有python 2.5.4的鼻子0.11.1.
我只有在明确指定文件名时才能运行测试.如果我没有指定它只是说的文件名,0测试.
同样的项目在我的Mac上运行测试很好,所以我很难过!
Dav*_*ver 105
总是让我感到困惑的另一件事nose是它不会在可执行文件中运行测试.我不确定为什么这会在Mac/Ubuntu上有所作为,但它值得一试.
确保脚本没有以某种方式chmod +x在Mac上获得...如果他们这样做,请修复它们chmod -x $(find tests/ -name '*.py').
Mar*_*off 62
这种行为几乎可以肯定是因为您的文件没有根据nose的测试匹配行为命名.从鼻子文档:
nose从其工作目录中找到的python源文件,目录和包中自动收集测试(默认为当前工作目录).任何与testMatch正则表达式匹配的python源文件,目录或包(默认情况下:(?:^ | [b _.-])[Tt] est)将被收集作为测试(或测试集合的源).
重点是我的.
一些匹配的示例名称:
一个名字看起来像它会匹配,但实际上并不:
如果你只是重命名你的文件,你应该很高兴.
__init__.py文件?
...确保你的"测试"目录实际上是模块(它们有一个空
__init__.py文件).
Roc*_*cky 43
我有同样的问题.我的测试在Windows中运行得很好,但在Ubuntu中没有.
在Ubuntu中,如果你运行:
nosetests -vv --collect-only
Run Code Online (Sandbox Code Playgroud)
你可能会看到它正在跳过你的测试文件,因为它是一个可执行文件:_Tools/LintControlFiles/test_HgLint.py 是可执行的; 跳过
为了让鼻子考虑可执行文件,运行如下:
nosetests --exe
Run Code Online (Sandbox Code Playgroud)
zah*_*anm 17
我可以确认,正如@ david-wolever所说,它们无法在Ubuntu上执行.跑
nosetests -vv --collect-only
Run Code Online (Sandbox Code Playgroud)
查看检查哪些文件的完整详细信息.
MIT*_*tor 10
一些相关的,如果你正在运行目录的测试,即
nosetests ... tests/
Run Code Online (Sandbox Code Playgroud)
其中tests是我的测试文件夹的名称,并且在其中一个.py模块中有单独的python测试函数...你的函数必须从'test'开始,以便测试你认为你想要运行的测试.
例如:
def test_something():
...
Run Code Online (Sandbox Code Playgroud)
nosetests将在此目录中执行时运行此函数
def somethin_to_test():
...
Run Code Online (Sandbox Code Playgroud)
不会.