基本的に次のようなテストクラスがあります。
[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
ことがわかります。TestInitialize
TestEquality
PrepareObjects
プライベートからパブリックに変更すると、これが修正されます。なんで?