我想在运行时为我的 junit 测试用例创建测试数据。作为该活动的一部分,我选择编写一组数据夹具和一个围绕它的实现,它将创建/删除/更新测试数据。这些将从每个 Junit 类的 @before 和 @After 方法中调用——@before 用于设置测试数据,@after 用于拆除测试数据。
我已经在“test”包中编写了所有这些实现,并将主类标记为@component 和@autowired 这些新类。但是,当我运行 junit 测试时,它无法创建这些新类的实例,因此自动装配似乎不起作用。
除了在 test-config.xml 中添加以下配置之外,我不确定在自动装配之前我还需要做什么
<context:component-scan base-package="test">
</context:component-scan>
我正在使用 Spring 3.x 和 Junit 4。
- - - - -更多信息 - - - - - - -
//业务实现:
//文件位置:src/main/java/com/abc/prq
package com.abc.pqr
@Service("myservice")
public class MyService{
}
//Myservice类的Junit测试:
//文件位置:src/test/java/com/abc/pqr
package com.abc.pqr;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/META-INF/spring/test-Config.xml"})
public class MyServiceTest {
@Autowired
private ABC abc;
}
//数据夹具创建/删除/更新测试数据
//文件位置:src/test/java/com/abc/pqr/datafixtures
package com.abc.pqr.datafixtures
@Component("abc")
public class ABC{
public void create(){
}
public void remove(){
}
public void update(){
}
}