unit-testing - 两个公有方法调用一个私有(private)方法

标签 unit-testing testing junit

我听到有人说最好通过公共(public)方法为私有(private)方法编写 Junit 测试。但在这种情况下,我应该测试私有(private)方法以避免重复代码。这是好方法吗?

最佳答案

这是主观品味、我获得的最佳实践和直觉的结合。

对于单元测试,我不介意直接调用私有(private)函数,如果你通过单元测试意味着测试一个特定的函数而不是其他任何东西。我不介意,因为它减少了包装代码,而且与生产代码相比,函数使用模式可能相当不寻常。

如果测试的范围不止于此,整个类或一系列函数,我更愿意只使用公共(public)方法,因为这就是其他代码使用它的方式。

关于unit-testing - 两个公有方法调用一个私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607581/

相关文章:

java - 防止使用特定 Spring 配置文件运行测试

java - Mockito:使用 List<String> 作为参数

使用 Jasmine 的 TypeScript 中的 AngularJS 单元测试未运行

ruby-on-rails - 如何在测试中关闭 Rails SQL 日志记录?

unit-testing - 单元测试作为构建的一部分

c# - MVC5 中的 CodedUITest 在生成代码期间挂起

ruby - RSpec:每次指定对具有不同参数的方法的多次调用

java - Mockito:如何验证来自另一个单例类的单例类的方法调用

Android Gradle 单元测试从 JAR 迁移 - 从 junit 和 mockito 复制 hamcrest 文件

c# - 匿名 JSON 对象集合的单元测试