Spring启动测试 - PowerMockito到mock和stub构造函数

时间:2016-12-16 07:00:00

标签: spring unit-testing junit spring-boot powermock

使用Spring启动程序启动程序测试来测试我的应用程序,但我正在使用第三方库。让我们假设我们有一个类TRequest,它有一些构造函数,我想模拟和存根该构造函数返回结果。

@SpringBootTest
@RunWith(SpringRunner.class)
@PrepareForEverythingForTest
public class TestClass {

@MockBean
TRequest trequest ; 

@Before
public void setUp() throws Exception {
    PowerMockito.whenNew(TRequest.class).withAnyArguments().thenReturn(trequest);

}
}

现在,当我尝试使用new创建构造函数时,它没有返回正确的存根结果。

  TRequest trequest1 = new TRequest("apiKey","secretKey") ; 
  trequest.equals(trequest1) ; // false but I want it to be true

1 个答案:

答案 0 :(得分:0)

使用jackson第三方lib进行测试。 - 但是因为PowerMock而得到ClassLoader异常。

@SpringBootTest
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
public class TestPowerMockito {

    @MockBean
    ObjectMapper object;

    @Before
    public void init() throws Exception {
        PowerMockito.whenNew(ObjectMapper.class).withAnyArguments().thenReturn(object);
    }

    @Test
    public void test() {
        assertEquals(object, new ObjectMapper());
    }

}