Défaut de priorité Printemps-Démarrage de l'application.paramètres de propriétés de Test Junit

J'ai un Ressort de Démarrage de l'application, où les propriétés par défaut sont définies dans un application.properties fichier dans le classpath (src/main/resources/de l'application.les propriétés).

Je voudrais remplacer certains paramètres par défaut dans mon test JUnit avec les propriétés déclarées dans un test.properties fichier (src/test/resources/test.les propriétés)

J'ai en général une Config de Classe pour mon Junit Tests, par exemple

package foo.bar.test;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import(CoreConfig.class)
@EnableAutoConfiguration
public class TestConfig {

}

J'ai d'abord pensé que l'utilisation de @PropertySource("classpath:test.properties") dans le TestConfig classe ferait l'affaire, mais ces propriétés ne va pas remplacer l'application.paramètres de propriétés (voir Spring-Boot de Référence Doc - 23. Extériorisés De Configuration).

Puis j'ai essayé d'utiliser -Dspring.config.location=classpath:test.properties lors de l'invocation de l'épreuve. Cela a été un succès - mais je ne veux pas définir cette propriété du système pour chaque exécution d'un test. Donc je l'ai mis dans le code

@Configuration
@Import(CoreConfig.class)
@EnableAutoConfiguration
public class TestConfig {

  static {
    System.setProperty("spring.config.location", "classpath:test.properties");
  }

}

qui malheureusement a de nouveau pas réussi.

Il doit y avoir une solution simple sur la façon de remplacer application.properties paramètres dans JUnit tests avec test.properties que je dois avoir oublié.

InformationsquelleAutor FrVaBe | 2015-04-16