我有一个基本上应该像下面这样的测试类:
[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
中放置断点,那么我可以看到 TestEquality
时尚未调用 TestInitialize
是。
将 PrepareObjects
从私有(private)更改为公共(public)可以修复此问题。为什么?
最佳答案
测试框架只寻找公共(public)方法。同样,如果您将 TestEquality
设为私有(private),that 将不会运行,如果您将 MyTest
设为内部,则什么都不会 显示将运行。
关于c# - 私有(private) TestInitialize 方法未初始化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13177844/