用@SpringBootTest替换@SpringApplicationConfiguration

时间:2016-09-18 20:21:07

标签: java spring spring-boot

我有一个Spring Boot应用程序,有很多单元测试。所有测试类都没有注释。他们都只是扩展了以下抽象类,他们也得到了注释:

@RunWith(SpringJUnit4ClassRunner.class)
@EnableAutoConfiguration
@SpringApplicationConfiguration(classes = { MoneyjinnConfiguration.class })
@WebAppConfiguration
@SqlGroup({ @Sql(executionPhase = ExecutionPhase.BEFORE_TEST_METHOD, scripts = { "classpath:h2defaults.sql",
        "classpath:testdata.sql" }) })
public abstract class AbstractTest {

}

由于不推荐使用Spring Boot 1.4.0 @SpringApplicationConfiguration。我尝试用@SpringBootTest@ContextConfiguration(classes = { MoneyjinnConfiguration.class })替换它,但现在我的所有测试都失败了:

Caused by: java.lang.IllegalArgumentException: No auto-configuration attributes found. Is org.laladev.moneyjinn.businesslogic.service.impl.ContractpartnerAccountServiceTest annotated with EnableAutoConfiguration?

当我现在使用@EnableAutoConfiguration注释具体的测试类时,它会继续工作。

老实说 - 我不想通过将@EnableAutoConfiguration从抽象类移动到所有具体的测试类来修改我的所有测试类。我有点喜欢将所有注释放在一个中心位置的方法 - 我的AbstractTest类。

我错过了什么吗?

0 个答案:

没有答案