2011-06-06 70 views

回答

0

是的,這是可能的。

創建構建配置名爲TEST和

[Conditional("TEST")] 
上你的方法

要在Visual Studio中創建構建配置,請轉到「構建」菜單 - >配置管理器。在「主動解決方案配置:」下選擇「新...」。給一個名字(在你的情況下測試),你可能想要在「複製設置來自:」中設置調試。

這也將讓您使用:

#if TEST 
... 
#end if 

但是使用#如果隱藏了編譯器,它在我的經驗是很痛苦的根源構建配置間切換時的部分,由於重構的代碼這打破了其他配置。

編輯

@Aaronaught提到,有條件的屬性將工作。我認爲天真的解決方案是使用#if。在這種情況下,你可能想要做這樣的事情:

#if TEST 
    [TestMethod()] 
#endif 
測試方法前

避免隱藏的不僅僅是從編譯器TestMethod()屬性更多。

+1

這不起作用。無論如何使用ConditionalAttribute,無論如何MSTest都會運行測試,正如此問題所述:[使MSTest遵守條件屬性?](http://stackoverflow.com/q/3133988) – Aaronaught 2011-06-19 17:21:26

0

聽起來你想使用預處理器指令(available in C#,可能還有其他語言)。具體來說,在源代碼中使用#define和/ define編譯器選項以及#if語句。您沒有說明您使用的是哪個版本的.NET,但是MSDN表明它一直回到.NET 1.1,至少使用Visual Studio 2003.

0

只需創建一個新的生成配置, steenhulthin並添加編譯符號TEST。

構建配置的名稱並不重要,但你必須設置這個configaration條件編譯符號包括TEST(項目設置,頁面「構建」 IIRC)。您也可以在每個要使用它的文件中定義編譯符號,而不是項目設置。 (#define TEST

相關問題