2009-08-08 137 views

回答

2

根據您正在使用它可以是瑣碎的或硬的特點。您可以使用名稱空間/類型別名來使用另一個類庫來執行斷言和屬性。我編寫了可以手動運行測試的控制檯程序 - 但我當然可以訪問vs命名空間和程序集。

對於單聲道 - 我的建議是完全使用另一個測試系統作爲自己的system.reflection命名空間來加載程序集,反映屬性並根據需要執行,將是單調乏味的。

例如:

Pseudo code: 

var assembly = loadAsembly(....) 
foreach(type in assembly.types) { 
if(type is static class and had method with AssemblyInitialiseAttrubute)){ 
    InvokeTheMethod(method); 
} 
} 

foreach(type in assembly.types) { 
if(type is not class and had method with TestClass)){ 
    InvokeTheMethod(method); 
} 
foreach(method in type with ClassinitialiseAttribute) 
} 
... etc 
+0

是的,我想可能最終軋製我自己,但我仍然堅持要一個現成的解決方案。謝謝。 – bright 2009-08-08 23:07:41

+0

原來是相當直接的,雖然我目前有一個VS單元測試組件的參考,它定義了屬性(我將它複製到Mono,不是很清晰)。 – bright 2009-08-09 05:10:36

+0

爲什麼不定義你自己的屬性?那麼你獲得了兩全其美的好處? – 2009-08-09 10:51:27

相關問題