Testing 测试私有方法,需要澄清
在我的Testing 测试私有方法,需要澄清,testing,Testing,在我的src中,存在一个包含方法的类 public static boolean doExtensionsMatch(String s, String t) { 它没有什么错,只是没有必要公开。它在声明它的类中使用 它是public但是,因为不久前,我觉得这个方法需要直接测试,因此,private可见性对我不起作用 在这一点上: 我不想放弃那些测试。但是,如果我将方法设置为私有,测试将变得不可用 我希望测试保留在它当前的src test文件夹中,从而为源代码和测试维护单独的位置 那么,你告
src
中,存在一个包含方法的类
public static boolean doExtensionsMatch(String s, String t) {
它没有什么错,只是没有必要公开。它在声明它的类中使用
它是public
但是,因为不久前,我觉得这个方法需要直接测试,因此,private
可见性对我不起作用
在这一点上:
- 我不想放弃那些测试。但是,如果我将方法
,测试将变得不可用设置为私有
- 我希望测试保留在它当前的
文件夹中,从而为源代码和测试维护单独的位置src test
我是否应该将方法更改为private并删除测试?我建议使用分部类。如果您的测试类是要测试的类的部分类,那么它们将可以访问所有的方法和变量,无论它们是否是公共的。您测试接口,以证明该类的行为是正确的 因此,只要私有方法不可访问,就不需要对其进行测试。更重要的是,你不应该在意界面是如何工作的,你应该只关注结果
你测试的是行为,而不是实现。你所说的分部类是什么意思?@JAM:他的意思是,尽管我不同意把这一页删掉是个好主意,但我认为这将有助于澄清:我认为,只要你把测试放在单独的程序集中,而不是编译成发行版本,就可以了。