2017-05-30 5 views
2

Führen Sie Tests über Gradle mit Federprofilen.Führen Sie die Aufgabe mit Federprofilen (Integrationstests)

gradle clean build 

Ich habe hinzugefügt Aufgabe:

task beforeTest() { 
    doLast { 
     System.setProperty("spring.profiles.active", "DEV") 
    } 
} 

test.dependsOn beforeTest 

Und meine Test Definition lautet:

@RunWith(SpringRunner.class) 
@SpringBootTest 
@ActiveProfiles("TestProfile") 
public class SomeTest { 

Aber diese Konstruktion nicht für mich arbeiten.

Gradle läuft Tests.

Antwort

2

Ich denke, Sie möchten eine Systemeigenschaft in der Runtime/Test-JVM festlegen, aber Sie legen eine Systemeigenschaft in der Build-Time-JVM (dh der Gradle-Daemon) falsch.

Siehe Test.systemProperty(String, Object)

ZB:

test { 
    systemProperty 'spring.profiles.active', 'DEV' 
} 

... und eine andere Note auf Ihrem Versuch. Bitte beachten Sie, dass Aufgaben eine doFirst und eine doLast Methode haben, so dass Sie keine separate Aufgabe für das, was Sie versuchten, benötigen würden.

+0

Danke, aber es hilft mir nicht – yazabara

Verwandte Themen