相当于whenNew的JMockit

时间:2018-12-27 15:22:27

标签: java junit mockito powermock jmockit

在Powermock中,有方法whenNew

我是Jmockit的新手。我正在将应用程序从Powermock迁移到Jmockit。

能否请您告诉我Jmockit中whenNew的等效项或如何在Jmockit中实现?我真的需要解决这个问题才能前进。

该场景是new RestTemplate()在类中的不同方法中本地使用...通过whenNew,我们可以分配模拟的resttemplate值,但我不会努力模拟相同的值。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

对于您来说,我认为您要尝试的是模拟RestTemplate新实例的构建。

您应该看一下JMockit的文档,因为它确实做得很好,并且在那里已经回答了很多问题(在您的情况下,here)。

@Test
public void test(@Mocked RestTemplate restTemplateMock) {
   new Expectations() {{
      new RestTemplate(); result = restTemplateMock;

      restTemplateMock.method(); result = "something";
   }};

   // Code under test:
   new RestTemplate().method(); // will return "something"
}

根据需要传递的参数使用必要的构造函数,我认为这对您有帮助。