我正在为Visual Studio 2012中的现有类“Person”编写单元测试,该类具有带有2个参数和一些业务逻辑的构造函数。
TestMethod()
public void VerifyPersonTest()
{
//Using PrivateObject class
PrivateObject privateHelperObject = new PrivateObject(typeof(Person));
//Some business logic
}
当我尝试运行上面的测试时得到一个异常“System.MissingMethodException {”没有为此对象定义的无参数构造函数。“}”。所以我已经为person类添加了无参数构造函数并且能够毫无问题地运行测试。
我有以下问题
1)由于我已将无参数构造函数添加到person类,它是否会破坏Person类的任何现有功能?
2)PrivateObject privateHelperObject = new PrivateObject(typeof(Person));
上面的语句调用person class的无参数构造函数。如果我想调用带有2个参数的构造函数,我该如何写上面的语句?
答案 0 :(得分:0)
您也可以自己实例化Person
对象:
var myPerson = ...;
var privateHelperObject = new PrivateObject(myPerson);