2012-01-16 97 views
0

在我src,存在其中包含的方法测试私有方法,澄清需要

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

没有什么不对的地方是,除了没有必要为它是公共类。它在声明它的类中使用。

这是public然而,自从前一段时间以来,我觉得这种方法需要直接进行测试,因此private可见度对我来说并不适用。

此时:

  • 我宁愿不扔掉那些测试。但是,如果我使用方法private,测试将变得无法使用。
  • 我宁愿做检查,以保持它的当前src-test文件夹中,从而保持源和不同地点的测试

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

我应该改变方法,以私人和删除测试?

回答

1

您测试接口证明类的行为,因为它应该。

所以私有方法不需要,只要他们不访问进行测试。甚至更多 - 你不应该关心界面如何工作,你只需要结果就可以。

你测试的行为,而不是实现。

+0

我喜欢这个。谢谢 – JAM 2012-01-16 22:55:02

0

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

+0

你说的部分类是什么意思? – JAM 2012-01-16 22:46:52

+0

@JAM:他的意思是http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.80).aspx虽然我不认为这是个好主意做 – zerkms 2012-01-16 22:48:12

+0

看看这个页面我认为这将有助于澄清:[链接](http://weblogs.asp.net/ralfw/archive/2006/04/14/442836.aspx) – RobotMike 2012-01-16 22:50:42