【问题标题】:easy mock's expect method gives test result passed at even false testseasy mock 的 expect 方法即使在错误的测试中也能通过测试结果
【发布时间】:2017-03-01 11:43:31
【问题描述】:

我正在使用 easymock 来测试我的课程。编写代码后,我发现即使输入错误,每个测试都会成功。从有关堆栈溢出的论坛中,我看到可以通过使用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);

【问题讨论】:

  • 所以这个调用应该返回null?
  • 我的误会。最后添加验证可能是您想要的。

标签: java junit easymock


【解决方案1】:

你试过了吗

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

或者

EasyMock.verifyAll();

【讨论】:

  • 那行得通!谢谢詹姆斯。在验证之前我是否也必须使用重播?正如我从论坛上看到的,我必须使用重放来激活测试,但似乎不是不需要。
  • 这对您问题中的代码没有任何影响。在实际测试行为时,您仍然需要重播。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-20
  • 2021-10-29
  • 2022-07-07
  • 1970-01-01
相关资源
最近更新 更多