Ich benutze Play Framework 2.3 und IntelliJ IDEA 14. Ich benutze ein Mailer Plugin in meiner Anwendung. Ich schrieb ein paar Funktionstests, die perfekt funktionieren, wenn ich den test
Befehl in der SBT-Konsole ausführen, nachdem das Hinzufügen dieser Zeile build.sbt:Konfigurieren von IntelliJ, so dass eine bestimmte Konfigurationsdatei zum Ausführen von Tests benötigt wird?
javaOptions in Test += "-Dconfig.file=conf/application.test.conf"
Und diese in die Datei conf/application.test conf:
smtp.mock=yes
Leider, wenn ich Tests direkt von IntelliJ laufen, bekomme ich diesen Fehler:
java.lang.RuntimeException: smtp.host needs to be set in application.conf in order to use this plugin (or set smtp.mock to true)
Ich habe versucht, diese Tests mit dem VM-Argument -Dconfig.file=conf/application.test.conf
ohne Erfolg zu starten.
Hier sind zwei Beispiele für die Tests ich auszuführen versuchen:
@Test
public void testWithServer() {
running(testServer(3333),() -> {
assertThat(WS.url("http://localhost:3333").get().get(1000).getStatus()).isEqualTo(OK);
});
}
@Test
public void testWithBrowser() {
running(testServer(3333), HTMLUNIT, browser -> {
browser.goTo("http://localhost:3333");
assertThat(browser.$("title").getText()).isEqualTo("Welcome");
});
}
jemand mir auf diesem helfen?
Danke!
Ich hatte gehofft, dass etwas IntelliJ jede Konfigurationsdatei nehmen könnte, aber das funktioniert so vielen Dank. Und du hast Recht, diese Datei wird von SBT verwendet. – Thomas
Sie sollten [eine Feature-Anforderung öffnen] (https://youtrack.jetbrains.com) fragen, ob Test- und Anwendungs-Run/Debug-Konfigurationen in der Lage sind, eine Konfigurationsdatei zum Festlegen von VM-Optionen zu erstellen. Ich denke, das wäre eine großartige Verbesserung. Veröffentlichen Sie hier die ID/den Link der Anfrage und ich würde sicherlich dafür stimmen. Andere würden wahrscheinlich auch. – Javaru
Gute Idee. Hier ist der [Link] (https://youtrack.jetbrains.com/issue/IDEA-135173). – Thomas