鼻子有bug - 由生成器創建的測試名稱未緩存,因此錯誤看起來像是發生在上次測試中,而不是實際測試失敗的地方。我下面的錯誤報告討論solution得到周圍,但它僅適用於在標準輸出上顯示的名字,而不是在XML報告(--with-的xUnit)鼻子測試生成器創建的測試更改名稱
from functools import partial, update_wrapper
def testGenerator():
for i in range(10):
func = partial(test)
# make decorator with_setup() work again
update_wrapper(func, test)
func.description = "nice test name %s" % i
yield func
def test():
pass
不出所料鼻子的輸出,像
nice test name 0 ... ok
nice test name 1 ... ok
nice test name 2 ... ok
...
但是XML中的測試名稱只是'testGenerator'。
...<testcase classname="example" name="testGenerator" time="0.000" />...
我怎樣才能改變這種做法,在標準輸出和XML輸出顯示的個性化測試的名字呢?
我使用nosetests 1.1.2版和Python 2.6.6
更改 'FUNC .__ name__' 或 'FUNC .__ doc__會給出' 也不管用。 –
如何創建一個測試套件? – Apalala
@Apalala謝謝,這似乎可以解決它。雖然我無法找到關於如何在鼻子中使用這些信息的任何信息,它如何與鼻子的測試發現相結合。你能舉個例子嗎? –