2011-04-27 20 views
3

我正在編寫NUnit測試,我只想在發佈配置中運行。有沒有一種用測試用例屬性做這件事的優雅方式?現在,我用編譯器指令來包圍整個功能塊:是否有用於指定配置的NUnit測試用例屬性

我正在使用Nunit 2.5.6.10205。

#if !DEBUG 
     [Test] 
     public void MyReleaseOnlyTest() 
     { 
      // stuff 
     } 
#endif 

回答

6

您可以使用[Category]屬性。如果您只用[Category("Release")]標記僅發佈測試,則在正常測試運行中排除該類別,並將其包含在您的發佈運行中。

所以,現在你的測試變得

[Test] 
[Category("Release")] 
public void MyReleaseOnlyTest() 
{ 
    // stuff 
} 
+0

收到,謝謝。你是我在Nunit控制檯上看到的Michael Two嗎? :) – 2011-04-27 14:48:23

+0

@Stealth拉比 - 有罪。雖然我不再積極參與這個項目。 – 2011-04-27 14:50:15

3

添加忽略屬性在#if預處理程序,而不是整個測試方法。

#if DEBUG 
[Ignore("Only to be run in release")] 
#endif 

http://msdn.microsoft.com/en-us/library/4y6tbswk.aspx

您還可以使用Conditional屬性

[System.Diagnostics.Conditional("RELEASE")] 
+0

我也喜歡這個,因爲它不需要改變nunit跑步者排除類別。 – 2011-04-27 15:28:38

相關問題