-1

我正在为 Visual Studio 2012 中的现有类“Person”编写单元测试,该类具有带有 2 个参数和一些业务逻辑的构造函数。

TestMethod()        
public void VerifyPersonTest()
{
    //Using PrivateObject class
    PrivateObject privateHelperObject = new PrivateObject(typeof(Person));

    //Some business logic                            

}

当我尝试在上面运行时,测试得到一个异常“System.MissingMethodException {“No parameterless constructor defined for this object.”}”。所以我已经向 person 类添加了无参数构造函数,并且能够毫无问题地运行测试。

我有以下问题

1)由于我在 person 类中添加了无参数构造函数,它会破坏 Person 类的任何现有功能吗?

2) PrivateObject privateHelperObject = new PrivateObject(typeof(Person));

上面的语句调用了person类的无参数构造函数。假设如果我想调用带有2个参数的构造函数,我该如何编写上面的语句?

4

1 回答 1

0

您也可以Person自己实例化对象:

var myPerson = ...;
var privateHelperObject = new PrivateObject(myPerson);
于 2013-08-07T10:51:29.123 回答