在我的每个集成测试中,我都必须添加以下注释
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-context.xml")
@Transactional
我在想是否可以创建一个自定义注释来对以上注释进行分组,而不是添加 3 个注释我只能添加一个。为此,我创建了以下注释。
@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-context.xml")
public @interface IntegrationTest {
String[] value() default {};
}
但是当我在我的测试类上添加 @IntegrationTest
时,它不会加载上下文。谁能指导我缺少什么?
谢谢
最佳答案
尝试分别添加@RunWith(SpringJUnit4ClassRunner.class)。
@RunWith(SpringJUnit4ClassRunner.class)
@IntegrationTest
public ControllerTest
这是父类。
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:test-context.xml")
public @interface IntegrationTest
此外,我会避免使用名称“@IntegrationTest”,因为它是 Spring Boot 中的默认注释。
关于java - Spring自定义注解集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25070524/