テストケースがあります。VS2010 でテストケースを実行すると、テストケースに合格します。
しかし、後でテストケースが正しくないことがわかり、CheckStatus() メソッドのアサーションが失敗し、テストケースをデバッグするとアサーションが失敗しました。
では、テストケースが実行モードでパスする理由は何でしょうか?
[TestMethod]
public void TestMethod() {
Invokable.Invoke(() => TestApplication.AnEvent+= CheckStatus);
try {
TestApplication.SearchCommand.Execute();
Assert.AreEqual(State.Update, TestApplication.State);
} finally {
Invokable.Invoke(() => {
TestApplication.AnEvent -= CheckStatus);
});
}
}
private void CheckStatus() {
Assert.AreEqual(State.Initial, TestApplication.State);
}