WebMvcTest 与@SpringBootTest 结合使用时出现问题
Issue with WebMvcTest in combination with @SpringBootTest
我正在使用 spring-boot 2.1.7-RELEASE 并编写测试来测试我的其余控制器。
这是我的测试代码
@RunWith(SpringRunner.class)
@WebMvcTest(MyRESTController.class)
@SpringBootTest(
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,classes = {TestConfig.class}
)
public class TestMyRESTController {
@Autowired
private MockMvc mvc;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void getAccount()throws Exception {
mockMvc.perform(get("/user/1"))
.andDo(print())
.andExpect(status().isOk());
}
}
我低于异常,有人可以帮助我了解我在这里缺少什么吗?
java.lang.IllegalStateException: Configuration error: found multiple declarations of @BootstrapWith for test class [com.philips.sapphire.infrastructure.SapphireGatewayV1.service.SampleTest]: [@org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper), @org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.context.SpringBootTestContextBootstrapper)]
我知道问题背后的原因了。它的发生是因为 'WebMvcTest' 使用“@BootstrapWith(WebMvcTestContextBootstrapper.class)”和 SpringBootTest 引用“@BootstrapWith(SpringBootTestContextBootstrapper.class)”,因此出现错误。
我正在使用 spring-boot 2.1.7-RELEASE 并编写测试来测试我的其余控制器。
这是我的测试代码
@RunWith(SpringRunner.class)
@WebMvcTest(MyRESTController.class)
@SpringBootTest(
webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT,classes = {TestConfig.class}
)
public class TestMyRESTController {
@Autowired
private MockMvc mvc;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void getAccount()throws Exception {
mockMvc.perform(get("/user/1"))
.andDo(print())
.andExpect(status().isOk());
}
}
我低于异常,有人可以帮助我了解我在这里缺少什么吗?
java.lang.IllegalStateException: Configuration error: found multiple declarations of @BootstrapWith for test class [com.philips.sapphire.infrastructure.SapphireGatewayV1.service.SampleTest]: [@org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTestContextBootstrapper), @org.springframework.test.context.BootstrapWith(value=class org.springframework.boot.test.context.SpringBootTestContextBootstrapper)]
我知道问题背后的原因了。它的发生是因为 'WebMvcTest' 使用“@BootstrapWith(WebMvcTestContextBootstrapper.class)”和 SpringBootTest 引用“@BootstrapWith(SpringBootTestContextBootstrapper.class)”,因此出现错误。