sas*_*ker 10 python unit-testing functional-testing nose nosetests
我有以下典型的python项目文件结构
packageA
+----subpackage1
+----classa.py
+----subpackage2
+----classb.py
+----test
+----subpackage1
+----classa_test.py
+----subpackage2
+----classb_test.py
Run Code Online (Sandbox Code Playgroud)
我目前正在尝试组织我的单元测试和功能测试,因此我可以使用nose单独运行unittests和功能测试,但也可以选择运行所有测试.测试将存在于packageA/test/subpackage1和packageA/test/subpackage2中.
我的测试目录结构看起来像这样:
root
+ --- tests
| + --- unit_tests
| | + --- some_app_tests
| | + --- another_app_tests
| | | run_tests.py
| |
| + --- integrate_tests
| + --- some_app_tests
| + --- another_app_tests
| | run_tests.py
|
+ --- project_root
+ --- some_app
+ --- another_app
Run Code Online (Sandbox Code Playgroud)
对于每个单独的应用程序,我使用unit-和integrate-目录中的测试创建相应的目录.每个目录都是单独的django项目,带有自定义设置,还有用于运行测试的管理命令.
将测试放在一个目录中也有一个很好的优势 - 当部署项目时,没有理由用它来部署测试.所以我只删除一个目录,这就是全部.
(运行测试我使用django-sane-testing:https://github.com/Almad/django-sane-testing)