2013-01-11 11 views

答えて

6

この機能はNUnitに存在することがわかりました。それはあまり明らかでないか直感的ではありません。

私がこの機能hereのために作った機能要求のCharlie Pooleによると、彼は彼からの直接の引用である以下の動作を述べています。

名前空間以外のクラスを[SetUpFixture]で装飾します。 そのクラスのメソッドを[TearDown]で飾ります。あなたが好きなら、[SetUp]で を別のものに飾ってください。あなたが求めているものとは

違い:

  1. 名はこの使用法では、それは少し非自明なります。

  2. NUnitは、これらの任意の数を許可し、順序を保証することなくすべて呼び出します。これは設計によるものです。

  3. これは、静的メソッドまたはインスタンスメソッドに適用できます。インスタンスメソッドの場合、クラスにはデフォルトのコンストラクタが必要で、 をテスト実行全体のライフサイクルで作成します。これは によっても示されます。

さて、これはかなりありませんが、同じ機能を実現する必要があり、そして多分彼はそれ3.0で少しきれいになります。 :)

+0

NUnit 3では、これは例外です: 'OneTimeSetUp:SetUpFixtureでTearDownAttribute属性が許可されていません。これを '[OneTimeTearDown]'に修正します。 – MrLore

1

NUnitにこのような概念はありません。しかし、TestFixtureTearDownAttributeをメソッドに適用して、TestFixtureで取得したリソースを解放することができます。

+0

クリーンアップする必要があるすべてのTestFixturesによって使用される管理されていないリソースがあり、MSTestプロジェクトをNUnitに移植したとき、私はこの問題にぶつかりました。 –

+0

これをNUNitに追加する機能要求を作成しました。もしあなたが興味があれば、こちらをご覧ください:https://bugs.launchpad.net/nunitv2/+bug/1098766 –

関連する問題