Junit在基于春季的项目中涉及多个项目

时间:2016-08-11 08:16:42

标签: java spring junit automated-tests

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="commonBean" class="commonBean">
    </bean>

</beans>

@Configuration
@ImportResource({
    "classpath:"commonConfig.xml"
    })
public class CommonBeanConfiguration{

}

我们有一个如上所述的共同项目。我们在另一个项目(主项目)中使用它作为jar。 我们正在使用来自另一个项目(Main Project)的commonBean bean。

当我们在服务器上部署主项目(包括常见项目的jar)时,它工作正常。 但是如果我们尝试从Main Project运行junit类,我们会得到“commonBean not found exception”。看起来像来自commonConfig.xml的bean 没有在junit中创建。

我们正在使用spring进行测试。

RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration.

1 个答案:

答案 0 :(得分:0)

使用此:

@ContextConfiguration(locations = "classpath:commonConfig.xml")

代替@import,因为它在运行时加载bean,@ContextConfiguration在调用测试用例之前加载bean。