最近,我在处理旧代码的单元测试案例时,写测试案例时遇到了一个问题。
由于我正在编写单元测试案例而不是集成测试案例。问题出在私有方法上。在我们的代码中,一个公共方法依赖于5个私有方法。
对于单元测试案例,我需要提供私有方法的虚拟实现,但由于该方法是私有的,我无法这样做。 因为MOQ模拟框架不支持私有方法的模拟功能。即使我也不能编写私有方法的测试案例。
我考虑的可能的方法
将所有私有方法移动到另一个类中。并将它们设为public,并创建此类的接口。这样,我就可以在运行时提供虚拟实现,因为现在我们有了该类的接口。
但是这种方法的问题是我需要将这些私有方法设置为public以进行单元测试案例。所以将其设置为public是一个好的做法。