这是一个春季启动项目,它使用XML来创建bean。现在,我正在编写测试用例,并在执行相同操作的同时,在创建特定bean时面对类强制转换
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest()
@TestPropertySource("classpath:application.properties")
@WebAppConfiguration
@ContextConfiguration(loader=AnnotationConfigContextLoader.class)
public class ApplicationTests {
private MockMvc mockMvc;
@Autowired
private WebApplicationContext wac;
@Before
public void setUp() {
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
}
<bean id="springUtility"
class="com.endeca.infront.web.spring.SpringUtility" scope="singleton" />````
Above is the bean
Error : Caused by: java.lang.ClassCastException: org.springframework.context.support.GenericApplicationContext cannot be cast to org.springframework.web.context.WebApplicationContext
答案 0 :(得分:0)
您可以直接注入MockMvc并省略一些配置,因为它是默认设置。
所以您的测试课程将如下所示:
@SpringBootTest
@RunWith(SpringRunner.class)
public class ApplicationTests {
@Autowired
private MockMvc mockMvc;
// Add your tests
}
如果需要加载配置,则@ImportResource是首选方式。只需将其放在@SpringBootApplication或@Configuration类上即可。
@ImportResource({"classpath*:applicationContext.xml"})