gpt4 book ai didi

unit-testing - 有没有办法用 Mockito 在 Dart 中只模拟对象的一部分?

转载 作者:行者123 更新时间:2023-12-04 13:56:11 27 4
gpt4 key购买 nike

我目前正在尝试使用 Flutter 和 Dart 开发测试驱动。
我有一个对象,它有两个方法,第一个方法调用 http,第二个方法调用第一个方法。
为了测试第一个函数,我模拟了该函数的依赖项(即 http 调用)。

现在我想测试第二种方法,但我无法找到一种方法来模拟第一个函数,同时保持对象的其余部分完好无损。结果我只能再次模拟第一个方法的依赖关系,这导致整个函数被执行一遍。这违背了单元测试的全部目的。

在模拟对象方面,似乎只有全有或全无的方法。我想知道如何处理某个对象依赖于同一对象上的方法的情况。
使用 FakeMock不允许我调用原始方法。 spy已弃用并且将模拟函数分配给其中一个函数不起作用,因为 Dart 不允许我重新分配方法。

最佳答案

我找到了解决我的问题的方法。根据 this评论中提到的链接“[t] 使用真实对象进行测试优于使用模拟进行测试”。在我的情况下,我只是将我正在测试的主要对象子类化并替换了我没有测试的(第二)方法。这似乎可以解决问题。

关于unit-testing - 有没有办法用 Mockito 在 Dart 中只模拟对象的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62047134/

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