使用PrivateObject帮助单元测试

单元测试中,有时候需要检查一些私有变量的值时候改变,或者是否是预想的值,使用常规方法很难办到;使用反射,又会显得太麻烦。
关于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

原文地址:https://www.cnblogs.com/JustRun1983/p/2842046.html