基本的に次のようなテストクラスがあります。
[TestClass]
public class MyTest
{
private MyClass o1;
private MyClass o2;
[TestInitialize]
private void PrepareObjects()
{
o1 = new MyClass();
o2 = new MyClass();
}
[TestMethod]
public void TestEquality()
{
Assert.IsTrue(o1.Equals(o2));
}
}
しかし、テストを実行すると、が表示されNullReferenceExceptionます。内部にブレークポイントを配置するPrepareObjectsと、その時点で呼び出されていないTestEqualityことがわかります。TestInitializeTestEquality
PrepareObjectsプライベートからパブリックに変更すると、これが修正されます。なんで?