要测试的类:IndexController.java

代码:

@Mock
private TemplateWrapper templateWrapper = spy(new TemplateWrapper());

@InjectMocks
private IndexController controller;

verify(templateWrapper).process();

报错:

Wanted but not invoked:
templateWrapper.process();
-> at com.suning.ebuy.cms.web.controller.IndexControllerTest.testIndexSuccess(IndexControllerTest.java:199)
Actually, there were zero interactions with this mock.

错误原因:没有把templateWrapper注入到IndexController.java类中.

解决方法:

1.把templateWrapper注入到IndexController.java类中

controller.setMyObj(templateWrapper); //it is good to have in @before method

2.或者创建templateWrapper的实例类,再执行verify(templateWrapper).process();

templateWrapper = new TemplateWrapper();

verify(templateWrapper).process();

相关文章:

  • 2021-08-15
  • 2021-04-19
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
猜你喜欢
  • 2021-12-27
  • 2022-02-23
  • 2022-01-13
  • 2021-10-08
  • 2022-03-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案