首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否需要测试公共内部类?

是否需要测试公共内部类?
EN

Stack Overflow用户
提问于 2012-01-12 17:41:45
回答 4查看 134关注 0票数 2

我应该测试公共内部类公共方法吗?或者我应该测试外部类的公共方法,它使用内部类(与测试私有方法的方法相同)?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-12 17:44:57

您需要测试所有可从类外部访问的内容。这包括内部类的公共方法(无论类本身是公共的还是私有的)。

如果你要公开一个方法,你需要对它进行测试。

票数 3
EN

Stack Overflow用户

发布于 2012-01-12 17:46:15

如果外部类方法只是将调用委托给内部类方法,那么您可以只测试其中一个。无论是哪一个都不重要。在这种情况下,您可能需要重新考虑您的设计--在我的经验中,过多的委托意味着糟糕的设计。

如果外部类方法做了比调用内部类方法更重要的事情,那么您应该像这样分别测试它们:

  • 测试仅内部类方法
  • 测试外部类方法使用内部类方法模拟(如果可能)
  • 测试外部类方法
票数 3
EN

Stack Overflow用户

发布于 2012-01-12 17:49:29

没有什么是“必需的”。您需要进行合理的测试,但要关注功能测试,而不是行覆盖率:您的代码所做的一切都应该以某种方式进行测试。

如果您的内部类方法中有任何业务逻辑,那么它可能有助于直接测试这些逻辑(并将内部方法转换为顶级类)。根据它所做的事情,测试外部可能就足够了,如果你这样做了,你就在你的测试覆盖率中引入了耦合,但是因为类是一个内部类,所以耦合已经存在了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8832873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档