为了保持DRY(Don't Repeat Yourself)原则,我希望在一个父类中定义我的ContextConfiguration,并让所有的测试类都继承它,像这样:
父类:
package org.my;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "/org/my/Tests-context.xml")
public abstract class BaseTest {
}
子类:
package org.my;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(inheritLocations = true)
public class ChildTest extends BaseTest {
@Inject
private Foo myFoo;
@Test
public void myTest() {
...
}
}
根据ContextConfiguration文档,我应该能够继承父类的位置,但我无法使其工作。Spring仍在寻找默认位置(
/org/my/ChildTest-context.xml
)的文件,当找不到时会报错。我尝试了以下方法,但都不起作用:
- 将父类变为具体类
- 在父类中添加一个空操作测试
- 在父类中添加注入成员
- 上述方法的组合