この「質問」は、同じ問題に遭遇した他の人に役立つことを期待して、私が何度か頭を悩ませた奇妙な MSTest の動作のドキュメントです。次のテストを検討してください。
[TestClass]
public class SomeTest {
private List<int> _list;
[TestInitialize]
public void SetUp() {
DoSomething();
_list = new List<int>();
}
[TestMethod]
public void SomeTestMethod() {
_list.Add(42);
...
}
}
それを実行すると、オンラインで生成System.NullReferenceException: Object reference not set to an instance of an object.
され_list.Add(42);
ます。のように見えますSetUp()
が、正しいpublic void
署名と[TestInitialize]
属性がありますが、呼び出されていません。どうしたの?