2016-09-12 3 views
0

Ich benutze die YML-Konfigurationsdateien Muster application-{default,dev,production}.yml.Gibt es eine Möglichkeit zu sagen, welche Profile für die Tests verwendet werden sollen?

Um zu definieren, welche Konfigurationsanwendung verwendet wird, behebe ich die Umgebung SPRING_PROFILES_ACTIVE=dev, also wenn die Feder-App läuft, wählt sie die richtige Konfiguration.

ich jetzt habe Thesen zwei Fragen:

  1. Der ./gradlew build Befehl auch den Testbefehl, Test Bedarf ausführen, um die richtige Konfiguration zu haben, wie die Anwendung funktioniert, wenn es startet.
  2. Meine Jenkins hat keinen Zugriff auf die Datenbank und die Tests der Einheiten weiterhin fehlschlagen.

Was machen fragen machen:

  1. Hat der Build-Befehl versucht, alle Datenquellen, um? Gibt es eine Möglichkeit, das aktive Profil des Federbeins anzugeben?
  2. Gibt es einen anderen Ansatz für den Einsatz von Spring-Boots App in der Produktion von Jenkins?
  3. Hat jemand eine Abhilfe außer

    ./gradlew -x test build 
    

    hat Das ist nicht das, was ich will.

    Weder hinzufügen @ActiveProfile("dev") zu meinen Tests, weil dies eine Änderung des Quellcodes erfordern.

Antwort

0

Einfach mehrere Eigenschaft files.For Beispiel erstellen:
application.properties
application-test.properties
application-production.properties


unterschiedliche Eigenschaften Geben Sie basierend auf Profil und
Below Sie können angeben, welches Profil in Ihnen zu laden gradle.build Datei

def profile = "test" 
bootRun { 
args = ["--spring.profiles.active="+profile] 
} 

Legen Sie unter Code in das Ende der Gradle-Datei

Verwandte Themen