gpt4 book ai didi

unit-testing - 我什么时候应该 mock ?

转载 作者:行者123 更新时间:2023-12-03 04:31:57 25 4
gpt4 key购买 nike

我对模拟和假对象有基本的了解,但我不确定我对何时/何地使用模拟有感觉 - 特别是因为它适用于这种情况 here .

最佳答案

单元测试应通过单一方法测试单一代码路径。当一个方法的执行在该方法之外传递到另一个对象中,然后又返回时,你就有了一个依赖。
当您使用实际依赖项测试该代码路径时,您不是在进行单元测试;你是集成测试。虽然这很好且必要,但它不是单元测试。
如果您的依赖项有问题,您的测试可能会以返回误报的方式受到影响。例如,您可能会向依赖项传递一个意外的空值,并且该依赖项可能不会按照文档中的说明抛出空值。您的测试没有遇到应有的空参数异常,并且测试通过。
此外,您可能会发现很难(如果不是不可能的话)可靠地让依赖对象在测试期间准确返回您想要的内容。这还包括在测试中抛出预期的异常。
模拟取代了这种依赖。您设置对依赖对象的调用的期望,设置它应该为您提供的确切返回值以执行您想要的测试,和/或要抛出的异常,以便您可以测试您的异常处理代码。通过这种方式,您可以轻松测试相关单元。
TL;DR:模拟您的单元测试涉及的每个依赖项。

关于unit-testing - 我什么时候应该 mock ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38181/

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