目前我的代码按以下树结构组织:
src/ module1.py module2.py test_module1.py test_module2.py subpackage1/ __init__.py moduleA.py moduleB.py test_moduleA.py test_moduleB.py
当module*.py
文件包含源代码和test_module*.py
包含TestCase
S为相关模块.
通过以下命令,我可以运行单个文件中包含的测试,例如:
$ cd src $ nosetests test_filesystem.py .................. ---------------------------------------------------------------------- Ran 18 tests in 0.390s OK
我怎样才能运行所有测试?我试过nosetests -m 'test_.*'
但它不起作用.
$cd src $ nosetests -m 'test_.*' ---------------------------------------------------------------------- Ran 0 tests in 0.000s OK
谢谢
无论你是分开还是混合测试和模块都可能是一个品味问题,尽管我强烈建议将它们分开(设置原因,代码统计等).
当您使用nosetests时,请确保所有带有测试的目录都是真正的包:
src/ module1.py module2.py subpackage1/ __init__.py moduleA.py moduleB.py tests/ __init__.py test_module1.py test_module2.py subpackage1/ __init__.py test_moduleA.py test_moduleB.py
这样,您就可以nosetests
在顶层目录中运行,并找到所有测试.但是,您需要确保它src/
在上面PYTHONPATH
,否则所有测试都会因缺少导入而失败.
如果他们都开始,test
那么就nosetest
应该工作.Nose会自动搜索以'test'开头的任何文件.