【发布时间】:2019-08-10 22:19:32
【问题描述】:
我有 Spring Integration 测试,我试图模拟我的一些 Bean。出于某种原因,尽管我嘲笑了他们,但他们是 NULL。这是代码sn-p:
我想模拟的 Bean
@Component
public class MockWS {
public String callSoapClient() throws JAXBException{
return "CallSoapCl";
}
}
使用 Bean 的类
public class SmDpES2PortImpl implements ES2SmDp {
@Autowired
private MockWS mock;
@Override
public void es2DownloadProfile(ES2DownloadProfileRequest parameters) {
try {
LOG.info("\n\n\n TEST BEAN: " + mock.callSoapClient() + "\n\n");
}
}
}
已模拟 Bean 的 Spring Boot 集成测试
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ES2SmDpApplicationTests {
@MockBean(name="mockWS")
MockWS mockService;
@Test
public void test1Es2DownloadProfile_Sucess() throws MalformedURLException, JAXBException, SOAPException {
when(mockService.callSoapClient()).thenReturn("CallMockCLient");
}
}
构建执行的输出:TEST BEAN: null
【问题讨论】:
标签: java spring-boot mocking