微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

oop – 通过其他测试类测试类

假设我使用TDD来创建一个A类.在完成并有一个“绿色”栏后,我决定使用一些重构工具从A类中仅使用静态方法提取一些B类.我现在已经对A类和B类进行了全面的单元测试,但只通过A类的测试类.我现在还应该创建一个特定于B类功能的测试类,即使这会重复测试吗?
一如既往,这取决于您的背景.你在乎什么?

整体行为

如果您正在构建一个供内部使用的系统,甚至是一个公共(Web)服务,您所运送的软件就是整个系统,那么您不必过多关注单个类.如果您正在构建系统,请测试系统.

只要它被测试覆盖,您就知道您的系统行为正确.但是,您可能会遇到这样的情况:几个月之后,您意识到您不再需要原始A类,因此您将其删除并进行相应的单元测试.这可能导致B的测试覆盖率下降,因此关注代码覆盖率趋势可能是个好主意.

单位行为

如果您正在构建(类)库或框架,那么您将每个公共类作为产品的一部分进行发布.如果您的库中有多个用户,则需要开始考虑如何避免更改.

避免破坏变化的最有效方法之一是通过单元测试覆盖每个类.只要您don’t change the tests,您就知道如果所有测试都是绿色的话,不太可能发生重大变化.但是,这需要您测试所有公共类和成员.

因此,如果您将B提取到公共类,它现在是其他消费者可能依赖的类,如果您更改它将是一个重大变化.因此,您应该用新测试来覆盖它.如果您正在构建一个单元,那么请测试该单元.

原文地址:https://www.jb51.cc/javaschema/281691.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐