1

我想單元測試一個asp.net MVC的web應用程序。 我們沒有使用TDD(好吧,還沒有)。asp.net單元測試:標記測試爲不完整

在觸摸某個方法之後,我想將適當的單元測試標記爲不完整或其他團隊成員知道他們必須完成它。

有沒有可能這樣做?

提前2010年

由於我們使用Visual Studio中的內置的單元測試的可能性。 邁克爾

回答

2

您是否希望測試不會實際運行,直到他們進一步處理?如果是這樣,有一個[Ignore]屬性,你可以添加到每個測試,如(用於MSTest的):

[TestMethod, Ignore] 
public void TestThatNeedsToBeCompleted() 
{ 
} 

如果你使用NUnit,你可以添加一個理由參數忽略屬性來解釋爲什麼測試正在被忽略。我不認爲這是可用的MSTest,但不要引用我的:)

+0

謝謝。我們不使用NUnit。那麼,我只是想測試,讓其他人知道他們必須實現它。有沒有機會這樣做? – mosquito87 2013-02-20 11:55:32

+0

您可以創建測試方法並設置Ignore屬性 - 它應該在測試運行器中被拾取 – levelnis 2013-02-20 11:57:00

1

你可以簡單地通過斷言失敗測試或拋出NotImplementedException。你會看到這些測試並不好。

或者當您使用IgnoreAttributeenable/disable時您需要測試。

[Ignore] 
[TestMethod] 
public void TestMethod { } 
+0

我認爲在單元測試中手動拋出異常的工作太多了。 標記測試未完成是否真的沒有歸屬? 我想到了忽略,並基本上把它放在我的測試方法之上後,此方法的測試沒有運行。但是沒有顯示出這個測試沒有運行的地方。 – mosquito87 2013-02-20 12:06:13

+1

你如何定義未完成?未設置爲忽略的測試或者在通過時顯示綠色,如果未通過,則顯示爲紅色。如果您想向開發人員強調他們需要在測試中做一些工作,並且不關心失敗的測試,請編寫一些會自動導致測試失敗的代碼。最簡單的方法是通過'NotImplementedException'屬性。向單元測試的主體添加'throw new NotImplementedException();'是否真的有太多工作要做? – levelnis 2013-02-20 14:04:52