【问题标题】:What's the Mockito verify for EasyMock.expectLastCall().anyTimes() equivalent?EasyMock.expectLastCall().anyTimes() 等价物的 Mockito 验证是什么?
【发布时间】:2021-06-28 19:17:34
【问题描述】:

将一些测试从 EasyMock 迁移到 Mockito。

EasyMock 代码如下:

Some mock = EasyMock.createMock(Some.class);
mock.someMethod(argMatcher);
EasyMock.expectLastCall().anyTimes();
EasyMock.replay(mock);

如何使用 Mockito 进行等效(或类似)模拟验证?

【问题讨论】:

    标签: mockito easymock


    【解决方案1】:

    我会这样写一个测试:

    Some mock = Mockito.mock(Some.class);
    Mockito.when(mock.someMethod(argMatcher)).thenReturn(aReturnObject);
    yourTestedObject.setSome(mock)
    
    yourTestedObject.someTestedMethodWhichUseSomeClass();
    
    Mockito.verify(mock, Mockito.atLeastOnce()).someMethod(argMatcher);
    

    对于 void 方法:

    Some mock = Mockito.mock(Some.class);
    Mockito.doNothing().when(mock).someMethod(argMatcher);
    yourTestedObject.setSome(mock);
    
    yourTestedObject.someTestMethodWhichUseSomeClass();
    
    Mockito.verify(mock, Mockito.atLeastOnce()).someMethod(argMatcher);
    

    【讨论】:

    • 嗨,朱利安,感谢您帮助我。 mock.someMethod() 是一个 void 方法。这仍然适用吗?
    • 嗨,对于 void 方法,它有点不同。您必须以另一种方式编写测试。我编辑我的答案向您展示这一点。
    猜你喜欢
    • 2014-05-08
    • 2014-06-12
    • 1970-01-01
    • 2022-11-28
    • 2013-01-01
    • 1970-01-01
    • 2018-07-10
    • 2023-04-10
    • 2011-01-19
    相关资源
    最近更新 更多