-1
我使用的是Django的鼻子可疑的差距(和Django的鼻子),我得到一個非常奇怪的覆蓋率報告:在鼻子覆蓋
$ python3 manage.py test lists
nosetests lists --with-coverage --cover-package=lists,superlists --verbosity=1
Creating test database for alias 'default'...
............
Name Stmts Miss Cover Missing
---------------------------------------------------------------------------
lists.py 0 0 100%
lists\admin.py 0 0 100%
lists\migrations\0001_initial.py 5 0 100%
lists\migrations\0002_item_text.py 5 0 100%
lists\migrations\0003_list.py 5 0 100%
lists\migrations\0004_item_list.py 5 0 100%
lists\migrations\0005_auto_20151117_1835.py 5 0 100%
lists\migrations.py 0 0 100%
lists\models.py 6 6 0% 1-12
lists\urls.py 3 0 100%
lists\views.py 23 0 100%
superlists.py 0 0 100%
superlists\settings.py 19 19 0% 14-113
superlists\urls.py 5 0 100%
---------------------------------------------------------------------------
TOTAL 81 25 69%
----------------------------------------------------------------------
Ran 12 tests in 0.073s
我的設置都配置:
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = [
'--with-coverage',
'--cover-package=lists,superlists',
]
而作爲它管理應用的參數,並期待在我的lists
和superlists
(我做的Python書TDD)顯然那些讀應用程式就好了。出於某種原因,然而,它說,它並不包括任何的settings.py
文件或我的lists/models.py
的;很簡單的類,只是有一些字段定義,沒有函數,沒有方法。如果是「根級」類是一個模塊中並且被導入,其所有的類屬性和方法簽名(def x(...):
線)被執行時,成功,否則便立即崩潰。
設置文件必須被執行,否則Django甚至不會運行。爲什麼覆蓋率報告和模型錯過?