Java 使用EasyMock断言方法调用

Java 使用EasyMock断言方法调用,java,unit-testing,easymock,Java,Unit Testing,Easymock,我正在写一个关于void函数的单元测试。 我在里面调用另一个函数。 我想测试这个函数应该只调用一次。 如果它被调用了0或2次,它应该失败 我已经尝试过使用以下方法,但即使我从代码中删除了函数调用,测试也不会失败 EasyMock.expectLastCall().once(); EasyMock.expectLastCall().atLeastOnce(); 这应该可以:(但是您也可以省略EasyMock.expectLastCall().once()) 如果您让它期望对该方法进行两次调用,会

我正在写一个关于void函数的单元测试。 我在里面调用另一个函数。
我想测试这个函数应该只调用一次。 如果它被调用了0或2次,它应该失败

我已经尝试过使用以下方法,但即使我从代码中删除了函数调用,测试也不会失败

EasyMock.expectLastCall().once();
EasyMock.expectLastCall().atLeastOnce();
这应该可以:(但是您也可以省略
EasyMock.expectLastCall().once()


如果您让它期望对该方法进行两次调用,会发生什么?您是否在测试结束时调用了verify()?只有在验证过程中,EasyMock才会检查是否满足了所有期望值。@但我没有。调用后,请验证它是否失败。谢谢。
    I m = EasyMock.createMock(I.class);
    m.meth();
    EasyMock.expectLastCall().once();
    EasyMock.replay(m);


    m.meth();
    m.meth(); //fails


    EasyMock.verify(m);