2017-03-07 2 views
1

DB内にオブジェクトを作成する最初のテストを実行し、次のテストにIDを渡してget、alter、deleteをテストしたい。これにより、最後にオブジェクトが削除されるようにする必要があります。Nunit 3でパラメータを渡して順次積分テストを作成することができます

これはDBに対する統合テストの推奨方法ではありませんが、制御できない外部リソースがあり、これが要求されています。

TestCaseSource私は実行する前にすべてが作成されているため、後で行うテストでは何も追加していないため、使用できません。

+0

ここに問題がありますか? IDを静的メンバーまたはクラスメンバーに保持できないのはなぜですか?多分これは関連している:http://stackoverflow.com/questions/4976251/maintain-context-between-unit-test-methods-in-vs-test-project –

答えて

1

OneTimeSetUpメソッドでオブジェクトを作成し、idをプライベートメンバーに保存し、OneTimeTearDownメソッドで削除することができます。 OneTimeSetUpに例外がスローされた場合、テストは実行されません。

get、alter、およびdeleteの各テストでは、Order属性を使用して、実行順序を制御し、削除が最後に実行されるようにする必要があります。例外が削除テストの実行を妨げている可能性があるので、レコードがまだ存在する場合は、OneTimeTearDownのレコードも削除する必要があります。

関連する問題