我听到有人说最好通过公共(public)方法为私有(private)方法编写 Junit 测试。但在这种情况下,我应该测试私有(private)方法以避免重复代码。这是好方法吗?
最佳答案
这是主观品味、我获得的最佳实践和直觉的结合。
对于单元测试,我不介意直接调用私有(private)函数,如果你通过单元测试意味着测试一个特定的函数而不是其他任何东西。我不介意,因为它减少了包装代码,而且与生产代码相比,函数使用模式可能相当不寻常。
如果测试的范围不止于此,整个类或一系列函数,我更愿意只使用公共(public)方法,因为这就是其他代码使用它的方式。
关于unit-testing - 两个公有方法调用一个私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607581/