私はこれに苦労してきました。うまくいけば、他の誰かを助けるでしょう。
MsTest を使用して単体テストを作成しているときに、各テストで同じコードを繰り返していることを発見し、いくつかの便利な属性 ( TestInitialize
、TestCleanup
、ClassInitialize
、およびClassCleanup
) を見つけました。
おそらく、これらの属性のいずれかでメソッドをマークすると、自動的に実行されるはずです(各テストの前、各テストの後、すべてのテストの前、すべてのテストの後にそれぞれ)。イライラすることに、これは起こらず、私のテストは失敗しました。属性でマークされたクラスからこれらのメソッドを直接呼び出すとTestMethod
、テストは成功しました。彼らが単独で実行していないことは明らかでした。
私が使用していたサンプルコードは次のとおりです。
[TestInitialize()]
private void Setup()
{
_factory = new Factory();
_factory.Start();
}
では、なぜこれが実行されないのでしょうか。