Spring Boot注释@WebMvcTest
仅适用于切片RestController
测试,或者SOAP端点是否也可以测试?
当我设置我的测试并运行它时,我只得到404响应,好像端点不在那里所以我认为它不是WebMvc
切片的一部分。
@RunWith(SpringRunner.class)
@WebMvcTest(value = IdServerPortTypeV10.class)
@Import({SecurityConfig.class, ModelMapperConfig.class, WebServiceConfig.class, ControllerTestBeans.class})
public class AccountEndpointTests {
@Autowired
IdServerPortTypeV10 soapEndpoint;
...
@Before
public void setup() {
mockMvc = MockMvcBuilders
.webAppContextSetup(wac)
.apply(springSecurity())
.build();
}
@Test
@WithMockUser(roles = VALID_ROLE)
public void getAccountTest_Success() throws Exception {
mockMvc.perform(
post("/soap/idserver/1.0")
.accept(MediaType.TEXT_XML_VALUE)
.headers(SoapTestUtility.getHeader(SERVICE.getNamespaceURI(), "getAccount"))
.content(SoapTestUtility.getAccountXml())
).andDo(print())
.andExpect(status().isOk());
}
}
在设置WebServiceConfig.class
的{{1}}中启用了端点。
答案 0 :(得分:0)
@WebMvcTest
仅适用于Spring MVC相关测试。
Spring的SOAP支持来自Spring Web Services项目,该项目有自己的集成测试支持。