使用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
答案 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());
}
}