2014-06-19 97 views
2

當使用@ unittest.skip並運行測試時,通常將跳過的測試標記爲小s,並在最後報告標記。用@ unittest.skip標記的單元測試未在鼻子測試中標記

如果我用nosetests進行測試,測試會簡單地消失,在最終報告中不會留下任何痕跡。我嘗試過--no-skip,但它沒有改變任何東西。

我怎麼能有「s」標記和在鼻子下跑步時總跳過?

+0

你有41.6k代表,但正確的答案是不是這樣標記的? – Clintm

+0

@Clintm:我有41.6k的代表,但是我沒有花一整天的時間在SO上? –

回答

4

看起來你必須跳過測試提供了一個理由:

from unittest import skip 

@skip 
def foo_test(): 
    pass 

讓你觀察到的:

---------------------------------------------------------------------- 
Ran 0 tests in 0.000s 

OK 

while:

from unittest import skip 

@skip("nose likes having good reasons") 
def foo_test(): 
    pass 

會給你:

foo_test.foo_test ... SKIP: nose likes having good reasons 

---------------------------------------------------------------------- 
Ran 1 test in 0.003s 

OK (SKIP=1) 
1

我標記測試,以在nose經由@nottest裝飾(在測試方法水平)被跳過,並且它們被標有小號和在末跳過測試次數列出。

要獲得裝飾導入正是如此:

from nose.tools import nottest 
+0

有沒有辦法與標記unittest.skip的結果相同? –

+0

看起來像@Oleksiy提供了關於它不與'unittest.skip'一起工作的原因。我一直使用'@ nottest'和'unittest'擴展的鼻子測試,但是當然如果你已經使用'unittest.skip',那麼試着保持這個是合理的。 – khampson