如何对私有方法进行单元测试?我正在构建一个类库,它将包含一些公共和私有方法。我希望能够对私有方法进行单元测试(主要是在开发过程中,但也可能对将来的重构很有用)。正确的方法是什么?
3 回答
森栏
TA贡献1810条经验 获得超5个赞
如果要测试的方法确实值得测试,那么将其移到自己的类中可能是值得的。 向调用私有方法的公共方法添加更多测试,测试私有方法的功能。(正如评论员所指出的,只有当这些私有方法的功能确实是公共接口的一部分时,才应该这样做。如果它们实际执行对用户隐藏的功能(即单元测试),这可能是不好的)。
慕斯709654
TA贡献1840条经验 获得超5个赞
存取器
转到类定义的源代码 右键单击类的名称。 选择“创建私有访问器” 选择应该创建访问器的项目=>您将得到一个名为foo_accessor的新类。此类将在编译期间动态生成,并对所有可公开的成员进行奖励。
私隐对象类
// Wrap an already existing instancePrivateObject accessor = new PrivateObject( objectInstanceToBeWrapped );// Retrieve a private fieldMyReturnType accessiblePrivateField = (MyReturnType) accessor.GetField( "privateFieldName" );// Call a private methodaccessor.Invoke( "PrivateMethodName", new Object[] {/* ... */} );
- 3 回答
- 0 关注
- 1291 浏览
添加回答
举报
0/150
提交
取消