我正在开发包含junit测试代码的项目。我已经看到一些方法被声明为默认方法(没有访问说明符),并且他们在junit中使用它来进行代码覆盖。任何人都可以告诉哪一个是从下面的选项单元测试代码的最佳方法。
- 将方法设为默认值(无访问说明符)。因为对于junit,我们在类之外公开方法。最终我们是 只为junit公开它。
- 我们可以使用反射来测试这段代码。因为junit不会在生产环境中交付。
醇>
答案 0 :(得分:1)
从本质上讲,这是一个风格的问题;因此,更多的是关于意见而不是真正的技术原因。我的技术"想法在这里:
事情是:我们的惯例是将一个简单的javadoc放在这样的受包保护的方法之上,比如/ **单元测试只用* /。我们在团队中同意这是足够好的#34;为了我们。但当然:在某种程度上,这是不一个好的模式:当您从外部中创建内部时可以观察到的内容;所以你以某种方式外化了实现细节的某些部分。
换句话说:不要在这里过火。让内部事物可见是真实的,这是实现的核心(并且可能在非常高的抽象级别上工作);但你不想做太多"外面可见的东西。人们可能错误地认为那些东西属于官方合同"你的班级!
但正如其他人所说,你可能想看看Mockito可以为你做的事情。