2011-12-28 117 views
2

我正在使用Win7 x64編寫項目。我的一些測試部分需要使用僅代表x86支持的SQLServer CE。我正在使用Visual Studio 2010 Express,我必須更改我的項目的平臺目標,手動編輯運行的* .cproj文件,例如schema export test (NHibernate)。如何根據平臺目標運行我的測試的一部分。根據條件運行NUnit測試

謝謝!

回答

2

我不知道在NUnit中是否有內置機制來處理這種情況,但至少可以使用預處理器指令。

例如,創建一個針對x86的「Debug x86」解決方案配置。然後定義DEBUG_X86條件編譯符號(在項目的屬性中)。最後,圍繞你的單元測試與預處理器指令:

#if DEBUG_X86 
[Test] 
public void Test() 
{ 
    // This test will only run when compiled with Debug x86 
} 
#endif 

編輯:其實,你甚至不必創建一個新的解決方案的配置,因爲它可以定義取決於平臺上的條件符號(https://stackoverflow.com/a/1313450/869621 )。所以定義一個WIN32編譯符號,並用它圍繞你的測試:

#if WIN32 
[Test] 
public void Test() 
{ 
    // This test will only run when compiled for x86 
} 
#endif