2009-11-17 60 views
2

我(最終)我的應用程序正在使用CPPUnit進行單元測試,並且我有CruiseControl.NET運行測試並顯示測試輸出。然而,我有幾個總是失敗的測試,所以CruiseControl總是將構建標記爲失敗。有什麼辦法可以「關閉」或「跳過」或「忽略」這些始終失敗的測試嗎?我寧願不只是在源代碼中對它們進行註釋,因爲它們指出了應用程序中的有效錯誤,目前我們無法根據業務原因進行修復,但可能能夠在未來的發行版中解決。如果可能的話,我希望能夠繼續運行測試並查看它們的輸出,但只要CPPUnit不會將它們計爲失敗(或者甚至可能在CruiseControl級別忽略它們)。如何關閉CPPUnit中的單元測試

回答

0

天兒真好,

你不能夠註釋掉testSuite_ *代碼的單獨測試?

編輯:對不起,我沒有完全解析你的問題。但testSuite_是以某種方式將各個相關測試分組的一種方式,例如,對於我們使用的LD_PRELOAD重映射庫,我們有幾個測試套件,例如

testSuite_access.c 
testSuite_acl.c 
testSuite_chdir.c 
testSuite_chmod.c 
...  
etc. 

那幾組測試一起運行那個特定的OS命令。

但有一個想一想,實際上閱讀你說的話( - :,你似乎想保留CPPUnit的的功能性的工作,而不是用它玩,即仍然萎靡不振的測試,未能

所以我建議看看玩CruiseControl的行爲來忽略那些已知的失敗,甚至可能暫時將它們標記爲「可接受的」,例如琥珀狀態爲構建而不是綠色或紅色狀態對於你描述的情況是錯誤的。

CruiseControl是非常可配置的,並有一個活躍的社區爲它在他們的wiki可通過他們的home page訪問。

HTH

對不起,我不能更多是從,建議您修改CruiseControl的行爲,而不是與CPPUnit的發揮除了具體。

+0

從問題:「如果可能,我希望能夠仍然運行測試並查看它們的輸出,但只是CPPUnit不會將它們計爲失敗」 – 2009-11-17 23:12:51

+0

恐怕我不明白你是什麼意思是「testSuite_ * code」。 AFAIK,在我的測試應用程序中沒有任何代碼。我正在使用便利的宏,所以可能你的意思是被模糊... – rmeador 2009-11-17 23:18:00

+0

@rmeador,增加了一些信息和建議 – 2009-11-18 11:33:51

1

作爲0123pp在cppunit食譜,你可以組織你的測試到測試套件。我會把「已知失敗」測試放在一個單獨的測試套件中。然後,您可以選擇何時運行此測試套件以及何時忽略它。