@WebMvcTest for SOAP?

时间:2018-02-16 13:56:11

标签: spring-boot spring-test spring-test-mvc spring-boot-test

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}}中启用了端点。

1 个答案:

答案 0 :(得分:0)

顾名思义,

@WebMvcTest仅适用于Spring MVC相关测试。

Spring的SOAP支持来自Spring Web Services项目,该项目有自己的集成测试支持。