为了 DRY,我想在父类中定义我的 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
) 中寻找文件,找不到时会 barfs 。我试过以下没有运气:
- 使父类具体化
- 向父类添加无操作测试
- 将注入的成员也添加到父类
- 以上组合
我在 spring-test 3.0.7 和 JUnit 4.8.2 上。