gpt4 book ai didi

unit-testing - 您如何测试不能一起进行单元测试的依赖类?

转载 作者:行者123 更新时间:2023-11-28 21:03:21 24 4
gpt4 key购买 nike

我有一个问题,关于如何测试 2 个相互依赖但不能一起进行单元测试的类。我无法创建足够短的代码示例,因此我将尝试用假设的类来解释它。抱歉,如果这太令人困惑,但我仍在努力想出一个简洁的例子。

在这个例子中,我们关注 4 个不同的类:ObjectCreator、ObjectUser1、ObjectUser2 和 Object。在 ObjectUser1 和 ObjectUser2 的单元测试中,每个都显式构造一个要使用的 Object 实例。 ObjectCreator 也有单元测试来确保对象实例的“正确”构造。所有单元测试都成功通过。现在,在 ObjectUser1 中发现了一个未在单元测试中暴露的错误。此错误是由于 ObjectCreator 如何创建对象与 ObjectUser1 如何使用它之间的不兼容。 ObjectUser2 中不存在此错误。该错误的修复是更改 ObjectCreator 构造对象的方式。我面临的问题是,当我更改 ObjectCreator 时,所有单元测试再次通过,但我知道新更改已破坏 ObjectUser2(由于为单元测试构造对象的方式,ObjectUser2 的单元测试通过)。假设出于复杂性原因,我不想在 ObjectUser1 和 ObjectUser2 的单元测试中使用 ObjectCreator。

这是单元测试中的常见问题吗?如果它们不能一起进行单元测试,那么测试依赖关系的最佳方法是什么?如有任何帮助,我们将不胜感激。

最佳答案

测试 B 类时,Mock A。所以你会从 A 那里得到你想要的结果。但是 B 仍然依赖于它。

您可以根据需要进行单元测试。并且您保持依赖性。

关于unit-testing - 您如何测试不能一起进行单元测试的依赖类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1543306/

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