Java Spring Test au Démarrage: Comment exclure java configuration de la classe de test contexte

J'ai un Java application web avec spring boot

Lors de l'exécution de l'épreuve j'ai besoin d'exclure certaines Java fichiers de configuration:

Test de config (il faut inclure lors de l'essai):

@TestConfiguration
@PropertySource("classpath:otp-test.properties")
public class TestOTPConfig { }

Production config (il faut exclure lors de l'essai):

 @Configuration
 @PropertySource("classpath:otp.properties")
 public class OTPConfig { }

De la classe de Test (explicite config classe):

@RunWith(SpringRunner.class)
@SpringBootTest(classes = TestAMCApplicationConfig.class)
public class AuthUserServiceTest { .... }

Test config:

@TestConfiguration
@Import({ TestDataSourceConfig.class, TestMailConfiguration.class, TestOTPConfig.class })
@TestPropertySource("classpath:amc-test.properties")
public class TestAMCApplicationConfig extends AMCApplicationConfig { }

Aussi ont de la classe:

@SpringBootApplication
public class AMCApplication { }

Quand le test est en cours d'exécution OTPConfig utilisé, mais j'ai besoin de TestOTPConfig...

Comment puis-je le faire?

Notez que pour plus d'efficacité dans les deux temps de développement et de temps d'exécution, il est généralement préférable de liste uniquement de la configuration particulière des classes que vous voulez .

OriginalL'auteur Sergey | 2016-09-27