Spring集成测试的多个概要文件?

Spring集成测试的多个概要文件?,spring,maven,testing,Spring,Maven,Testing,我需要一些不同的配置文件。首先是我的数据库问题。当我运行本地测试时,我希望使用一个数据源。当我运行验收概要文件(用于CI验收构建)时,我希望使用不同的数据源。最后,当我运行acceptance not in test时,我希望使用第三个数据源。我是如何想象这会起作用的 /src/main/resources/application.properties /src/main/resources/application-acceptance.properties /src/test/resource

我需要一些不同的配置文件。首先是我的数据库问题。当我运行本地测试时,我希望使用一个数据源。当我运行验收概要文件(用于CI验收构建)时,我希望使用不同的数据源。最后,当我运行acceptance not in test时,我希望使用第三个数据源。我是如何想象这会起作用的

/src/main/resources/application.properties
/src/main/resources/application-acceptance.properties
/src/test/resources/application-test.properties
/src/test/resources/application-acceptance-test.properties
但是,当我运行
mvn clean install-Dspring.profiles.active=acceptance
时,它不会运行
应用程序访问测试.properties

最后,我希望能够在运行测试的同时运行mvn安装,而不是集成测试。为此,我想我会添加一个
-Dspring.profiles.active=nointegration
,然后简单地在集成测试中添加一个
@ActiveProfiles(“!nointegration”)

这两个我都不走运。甚至可以在测试运行时获取配置文件吗

如果有帮助的话,我使用的是Spring Boot 1.3.0.RELEASE

编辑:


在我的集成测试中,我有
@ActiveProfiles(“测试”)
。有没有办法根据java opt spring.profiles.active在这里生成概要文件?

所以您要将参数传递给Maven!你希望你的测试能满足他们。这些测试永远看不到参数,因为如第一句所述,这些参数传递给Maven,而不是测试。除此之外,在不同的环境中使用不同的设置运行测试似乎有点危险,您如何保证每个测试都会提供相同的结果?测试只是真正测试模式是否正常工作,并且模式由flyway管理,以确保跨环境的一致性。我不想对所有测试使用标志,只想对启动spring的集成测试使用标志。我想既然spring启动了,我就可以配置它来更改数据源。