我有以下典型的Python項目文件結構如何組織和運行單元測試和功能測試分別使用nosetests
packageA
+----subpackage1
+----classa.py
+----subpackage2
+----classb.py
+----test
+----subpackage1
+----classa_test.py
+----subpackage2
+----classb_test.py
我目前正在組織我的單元測試和功能測試,所以我可以運行單元測試和功能測試單獨使用鼻子,但也可以選擇運行所有測試。測試將存在於packageA/test/subpackage1和packageA/test/subpackage2中。
- 什麼是組織不同測試的好方法?按文件夾(功能/ vs單元/)?通過命名約定的測試類(ClassATest vs ClassAFunctionalTest)?或者通過命名測試方法的約定(classa_foo_test vs classa_bar_functional_test)?
- 有人可以解釋一下nosetests的正則表達式匹配是如何工作的嗎?選項-m,-i和-e似乎並不像我預期的那樣運行。正則表達式是否匹配目錄(subpackage1),文件(classa_test)或測試類(ClassATest)或測試方法(classa_foo_test)?我非常困惑
你說:「每個目錄都是單獨的django項目,自定義設置,並有管理命令用於運行測試」,但你的樹實際上並沒有顯示這一點。另外,您使用的自定義管理命令是什麼? – supervacuo
@supervacuo我沒有說**自定義管理命令**,但管理命令與**自定義設置**。測試由django-sane-testing通過'manage.py test'命令運行(在設置中進行一些修改,包裝到'run_tests.py'中,參見DST doc - http://django-sane-testing.readthedocs.org/ en/latest/usage.html#running-tests) – yedpodtrzitko
好,夠公平的。 – supervacuo