gpt4 book ai didi

oop - 通过其他测试类对类进行单元测试

转载 作者:行者123 更新时间:2023-12-04 06:19:05 25 4
gpt4 key购买 nike

假设我正在使用 TDD 创建一些 A 类。在我完成并有一个“绿色”条之后,我决定我想使用一些重构工具从 A 类中提取一些只有静态方法的 B 类。我现在对 A 类和 B 类都进行了完全单元测试,但只能通过 A 类的测试类。我现在是否还应该创建一个特定于 B 类功能的测试类,即使那会重复测试?

最佳答案

与往常一样,这取决于您的上下文。你在乎什么?

整体行为

如果您正在构建一个供内部使用的系统,或者甚至是一个公共(public)(Web)服务,那么您要发布的软件就是整个系统,那么您不必太在意单个类。 如果您正在构建一个系统,请测试该系统。

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

单位行为

如果您正在构建一个(类)库或框架,则您将每个公共(public)类作为产品的一部分提供。如果您的库有多个用户,则需要开始考虑如何避免破坏性更改。

避免破坏性更改的最有效方法之一是通过单元测试覆盖每个类。只要你don't change the tests ,您知道如果所有测试都是绿色的,则不太可能发生重大更改。但是,这要求您测试所有公共(public)类和成员。

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

关于oop - 通过其他测试类对类进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com