Java easy mock的expect方法即使在错误的测试中也会给出通过的测试结果

Java easy mock的expect方法即使在错误的测试中也会给出通过的测试结果,java,junit,easymock,Java,Junit,Easymock,我正在用easymock测试我的班级。在编写代码之后,我发现即使输入错误,每个测试都会成功。从stack overflow的论坛中,我看到了使用replay方法可以避免这种情况,但当我使用replay时,它甚至成功了。我不知道我做错了什么?你能看一下代码并告诉我是否需要做更多的事情来使测试失败吗?我认为考试不起作用 service = EasyMock.createMock(MyService.class); menu = EasyMock.createMock(ISPFMenu.class);

我正在用easymock测试我的班级。在编写代码之后,我发现即使输入错误,每个测试都会成功。从stack overflow的论坛中,我看到了使用replay方法可以避免这种情况,但当我使用replay时,它甚至成功了。我不知道我做错了什么?你能看一下代码并告诉我是否需要做更多的事情来使测试失败吗?我认为考试不起作用

service = EasyMock.createMock(MyService.class);
menu = EasyMock.createMock(ISPFMenu.class);
menu.setName("name");
menu.setTitle("title");

EasyMock.expect(service.createLinesToParseEasyMock(menu)).andReturn(null);
EasyMock.replay(service);
你试过了吗

EasyMock.verify(service);
EasyMock.verify(menu);
或者

EasyMock.verifyAll();

所以这个调用应该返回null?我的误解。在末尾添加verify可能就是您想要的。这很有效!!谢谢你,詹姆斯。我也必须在验证之前使用replay吗?正如我从论坛上读到的,为了激活测试,我必须使用replay,但它似乎不是必需的。这对你问题中的代码没有影响。您仍然需要重播,以便在实际测试行为时重播。