.NET
背景:実行するためにいくつかの構成データをセットアップする必要がある単体テストがたくさんあります。最初はTestInitialize
andを使用TestCleanup
して、各テストに関する構成データをセットアップおよび破棄していました。ただし、一連のテスト全体に対して 1 つのセットアップで十分なので、代わりにClassInitialize
andを使用することをお勧めしますClassCleanup
。
問題: 属性を から に変更しTestInitialize
てClassInitialize
テストを実行すると、次のエラーが発生します。
MyTestClass.ClassInit の署名が間違っています。メソッドは static とマークする必要があります。
メソッドを静的にする必要があるこの属性の背後にある設計上の理由は何ですか? テスト メソッドはすべてインスタンス メソッドであるため、それらを実行するために、テスト クラスのインスタンスが少なくとも 1 つどこかに作成されていると想定します。そのインスタンスがその後のクリーンアップを担当しないのはなぜですか?
私はMSDNを確認しましたが、静的要件については明示的に言及していませんが、その使用法の良い例があります。