gpt4 book ai didi

java - expectLastCall 断言次数

转载 作者:行者123 更新时间:2023-11-29 05:31:28 25 4
gpt4 key购买 nike

我不确定我的做法是否正确。我想要 void 方法调用的断言时间。我的代码如下。processor.processInitialDump 将调用 service.applyInitialDump。我的问题是事件我给出的次数为100,仍然可以通过测试。我想断言通话时间。我能为这个问题做什么?

        Service service = EasyMock.createMock(Service.class);
service.applyInitialDump(entities);
EasyMock.expectLastCall().times(100);

processor.processInitialDump(entities)

顺便说一句:如果我期望的时间少于通话时间。 expectLastCall 正常工作。将抛出异常。

    Service service = EasyMock.createMock(Service.class);
service.applyInitialDump(entities);
EasyMock.expectLastCall().times(1);

processor.processInitialDump(entities)
processor.processInitialDump(entities)

最佳答案

如果我没理解错的话,你希望你的测试在你期望调用 100 次时失败,但它只发生了一次。

从您发布的代码来看,您似乎没有调用 EasyMock.verify()。这就是 EasyMock 会根据实际发生的情况检查您设置的所有期望的原因。

Service service = EasyMock.createMock(Service.class);
service.applyInitialDump(entities);
EasyMock.expectLastCall().times(100);

processor.processInitialDump(entities)
EasyMock.verify(service);

这在以前是有效的,因为至少预期调用一次,所以代码运行良好。添加验证后,将抛出一个断言错误,警告预期的调用没有发生。

关于java - expectLastCall 断言次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20965745/

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