2013-01-11 84 views

回答

6

事實證明,這個功能在NUnit中確實存在,它不是非常明顯或直觀。

根據Charlie Poole在我爲此功能here所做的功能請求中,他聲明以下內容將起作用,這是他的直接引用。

使用[SetUpFixture]在任何名稱空間外部裝飾類。 用[TearDown]裝飾該類的方法。如果你喜歡,用[設置]裝飾另一個 。從你問什麼

差異:

  1. 的名稱可以在這種用法有點不明顯。

  2. NUnit允許任意數量的這些並且全部調用它們,沒有任何訂購保證。這是設計。

  3. 它可以應用於靜態或實例方法。如果它是一個實例方法,則該類必須具有默認構造函數,並且將在整個測試運行的生命週期內創建它。這也是通過 的設計。

現在,這是不漂亮,但它應該達到相同的功能,也許他會使其少許清潔劑3.0。 :)

+0

從NUnit 3開始,這會引發一個異常:SetUpFixture中不允許使用OneTimeSetUp:TearDownAttribute屬性,它到'[OneTimeTearDown]'修復了這個問題。 – MrLore

1

在NUnit中沒有這樣的概念。但是你可以使用TestFixtureTearDownAttribute來釋放TestFixture獲得的資源。

+0

謝謝,這是我擔心的,因爲有所有需要清理的TestFixtures使用的非託管資源,以及將MSTest項目移植到NUnit時,我遇到了這個問題。 –

+0

爲此創建了一項要添加到NUNit的功能請求。如果你有興趣可以在這裏找到:https://bugs.launchpad.net/nunitv2/+bug/1098766 –