配置Spring Boot Test应用程序的首选方法是什么?

时间:2017-04-19 10:56:53

标签: java spring spring-boot configuration

我已使用@Configuration包中的config注释类配置了我的应用程序:

main
    java
        com.ourcompany
            config
                PersistenceConfig
                JacksonConfig
            persistence
            ...
            Application
test
    java
        com.ourcompany
            persistence
                PersistenceTest

Application类可以轻松获取配置:

@SpringBootApplication
public class Application {

    public static void main( String[] args ) {
        SpringApplication.run( Application.class, args );
    }

}

然而,测试类:

@RunWith(SpringRunner.class)
@DataMongoTest
public class PersistenceTest {
    ...
}
除非我在注释中指定配置类的名称,否则

不会获取配置:

@SpringBootTest(classes = PersistenceConfig.class) 

我发现这非常不直观,因为我必须明确列出我的所有config类。

在Spring Boot中共享配置的惯用方法是什么?

修改

最后问题在于同时包含@DataMongoTest@SpringBootTest。删除@DataMongoTest并将测试类注释为:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class PersistenceTest {
    ...
}

解决了这个问题。但是,关于什么是最佳实践的问题仍然存在。

0 个答案:

没有答案