测试私人方法,需要澄清

时间:2012-01-16 22:39:47

标签: testing

在我的src中,存在一个包含方法

的类
public static boolean doExtensionsMatch(String s, String t) {

它没有任何问题,只是没有必要公开。它在声明它的类中使用。

这是public但是,从一段时间以前,我觉得这种方法需要直接测试,因此private可见性对我不起作用。

此时:

  • 我宁愿不丢弃这些测试。但是,如果我使用方法private,则测试将变得无法使用。
  • 我希望测试保留在当前src-test文件夹中,从而为源和测试维护单独的位置

所以,你告诉我,我该怎么办?

我应该将方法更改为私有并删除测试吗?

2 个答案:

答案 0 :(得分:1)

您测试接口以证明该行符合行为。

因此,只要不能访问私有方法,就不需要对其进行测试。甚至更多 - 你不应该关心界面是如何工作的,你应该只关注结果。

您测试行为,而不是实施。

答案 1 :(得分:0)

我建议使用部分课程。如果您的测试类是要测试的类的部分类,则无论它们是否公开,它们都可以访问所有方法和变量。