gpt4 book ai didi

unit-testing - 如何使用Inorder验证调用顺序并返回值?

转载 作者:行者123 更新时间:2023-12-01 10:34:40 24 4
gpt4 key购买 nike

Mockito 文档有 this example

//create an inOrder verifier for a single mock
InOrder inOrder = inOrder(singleMock);

//following will make sure that add is first called with "was added first, then with "was added second"
inOrder.verify(singleMock).add("was added first");
inOrder.verify(singleMock).add("was added second");

如何让它返回“ducks in a row”

当第一次调用 add 时用“首先添加,然后用“第二个添加”?

(假设出于示例目的,列表返回一个字符串)。

更新:

Mockito 似乎无法处理模拟对象中的状态模拟。正如 Jeff Bowman 所建议的,我不得不实现一个假对象。

我希望 Mockito 得到增强以允许指定状态。毕竟,当编译器生成程序集时,Yacc 根据我们的语言规则创建了一个状态机。

@主持人。请取消赏金,因为它不能在 mockito 中完成。

最佳答案

使用 InOrder 时不能指定返回值。 InOrder 的使用仅限于 mockitos 模拟过程的验证阶段。仅允许在 stub 阶段指定返回值。

stub 阶段以对被测单元进行的第一次调用结束。之后验证阶段就开始了。

关于unit-testing - 如何使用Inorder验证调用顺序并返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37867609/

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