我們在測試套件中需要一些全球一次性設置代碼。我們可以多做一次,但需要相當長的一段時間。NUnit全局初始化 - 壞主意?
它是所有燈具都需要的,所以
[TestFixtureSetUp]
不起作用。它必須在所有[TestFixtureSetUp]
代碼之前運行。將它放在
Main()
中,因爲我們將測試程序集保存爲可執行文件。但是,Main
不會在GUI客戶端下執行。使用靜態構造函數創建一個獨立的類用於初始化僅當您引用我們不贊成在每個類中執行的類時纔有效。
從基類繼承所有測試裝置並向其添加靜態構造函數會導致對該代碼的多次調用。
現在鑑於這種情況,我有兩個問題:
1)是「全球建立」一個非常糟糕的主意,它不是由NUnit的支持?
2)什麼是最痛苦的,最常見的方式來實現這一目標?
通過爲那些誰不知道的方式,MbUnit的支持「AssemblyFixture」,其固定設置代碼每個裝配運行一次班。我知道我的問題是關於NUnit的,但任何想轉換開關的人都應該考慮這一點。 – 2011-04-27 06:33:51