我应该测试公共内部类公共方法吗?或者我应该测试外部类的公共方法,它使用内部类(与测试私有方法的方法相同)?
发布于 2012-01-12 17:44:57
您需要测试所有可从类外部访问的内容。这包括内部类的公共方法(无论类本身是公共的还是私有的)。
如果你要公开一个方法,你需要对它进行测试。
发布于 2012-01-12 17:46:15
如果外部类方法只是将调用委托给内部类方法,那么您可以只测试其中一个。无论是哪一个都不重要。在这种情况下,您可能需要重新考虑您的设计--在我的经验中,过多的委托意味着糟糕的设计。
如果外部类方法做了比调用内部类方法更重要的事情,那么您应该像这样分别测试它们:
发布于 2012-01-12 17:49:29
没有什么是“必需的”。您需要进行合理的测试,但要关注功能测试,而不是行覆盖率:您的代码所做的一切都应该以某种方式进行测试。
如果您的内部类方法中有任何业务逻辑,那么它可能有助于直接测试这些逻辑(并将内部方法转换为顶级类)。根据它所做的事情,测试外部可能就足够了,如果你这样做了,你就在你的测试覆盖率中引入了耦合,但是因为类是一个内部类,所以耦合已经存在了。
https://stackoverflow.com/questions/8832873
复制相似问题