2013-02-27 64 views
2

我們試圖使用NUnit來進行集成測試,但在準備測試系統時遇到了一些問題。在系統準備好測試之前,需要運行一些代碼。所以我想我們可以編寫一個SetUpFixture來運行這個初始化代碼。這個工作正常,只要班級在正在測試的程序集中。但是,我們可能會編寫這些程序集的20-30個,所以我想將它粘貼到一些可以簡單地引用到每個測試程序集的幫助程序項目中。如果我這樣做,NUnit不會運行SetUp方法,但(我想它只在正在測試的程序集中查找它們)。讓NUnit使用SetUpFixture引用程序集

有什麼辦法讓NUnit知道這個外部設置代碼?我想避免擁有專門的屬性和發現者,因爲我們是一個大型組織,而且人們往往忘記了特殊的解決方案。

回答

0

您可以使用反射在待測組件的[SetUpFixture]中從外部裝配中實例化您的「設置助手」對象。例如:

Assembly asm = Assembly.LoadFrom(pathToSetupHelperDll);    
Type setupHelper = asm.GetType("Setup.Helper"); 
object h = Activator.CreateInstance(setupHelper); 
MethodInfo m = setupHelper.GetMethod("DoSomething");    
m.Invoke(h, someParameter); 
相關問題