单元测试中,有时候需要检查一些私有变量的值时候改变,或者是否是预想的值,使用常规方法很难办到;使用反射,又会显得太麻烦。
关于PrivateObject的更多使用方法,可以参考http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.privateobject%28v=vs.80%29.aspx
var object = new Object();//可以替换成任何我们需要测试的类
var privateObject = new PrivateObject(object);
接着就可以使用下面这些方法来操作该对象的任何field, property, method.
GetField
GetFieldOrProperty
GetProperty
SetField
SetFieldOrProperty
SetProperty
Invoke