NUnit是否支持與可應用於靜態方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute類似的Assembly拆卸概念?NUnit是否支持拆卸拆卸的概念?
在裝配體內的所有測試完成後,將執行此操作。我目前正在使用NUnit 2.6.0。
NUnit是否支持與可應用於靜態方法的Microsoft.VisualStudio.TestTools.UnitTesting.AssemblyCleanupAttribute類似的Assembly拆卸概念?NUnit是否支持拆卸拆卸的概念?
在裝配體內的所有測試完成後,將執行此操作。我目前正在使用NUnit 2.6.0。
事實證明,這個功能在NUnit中確實存在,它不是非常明顯或直觀。
根據Charlie Poole在我爲此功能here所做的功能請求中,他聲明以下內容將起作用,這是他的直接引用。
使用[SetUpFixture]在任何名稱空間外部裝飾類。 用[TearDown]裝飾該類的方法。如果你喜歡,用[設置]裝飾另一個 。從你問什麼
差異:
的名稱可以在這種用法有點不明顯。
NUnit允許任意數量的這些並且全部調用它們,沒有任何訂購保證。這是設計。
它可以應用於靜態或實例方法。如果它是一個實例方法,則該類必須具有默認構造函數,並且將在整個測試運行的生命週期內創建它。這也是通過 的設計。
現在,這是不漂亮,但它應該達到相同的功能,也許他會使其少許清潔劑3.0。 :)
在NUnit中沒有這樣的概念。但是你可以使用TestFixtureTearDownAttribute
來釋放TestFixture獲得的資源。
謝謝,這是我擔心的,因爲有所有需要清理的TestFixtures使用的非託管資源,以及將MSTest項目移植到NUnit時,我遇到了這個問題。 –
爲此創建了一項要添加到NUNit的功能請求。如果你有興趣可以在這裏找到:https://bugs.launchpad.net/nunitv2/+bug/1098766 –
從NUnit 3開始,這會引發一個異常:SetUpFixture中不允許使用OneTimeSetUp:TearDownAttribute屬性,它到'[OneTimeTearDown]'修復了這個問題。 – MrLore