Funktionelle Tests mit der TestServer
Klasse des Play Framework scheinen nur in der Play-Konsole zu funktionieren.Paralleler Testlauf für Spielframework
Leider führt der Lager-Testläufer in der Play-Konsole, der durch den Befehl play test
ausgeführt wird, die Tests in der Sequenz aus, und das dauert eine Menge Zeit. Ich denke, sie würden schneller laufen, wenn sie parallel ausgeführt würden.
Gibt es eine Möglichkeit, die Tests parallel auszuführen?
Update: SBT unterstützt die Ausführung von Tests parallel und in verschiedenen JVMs, die es möglich machen, mehrere Instanzen parallel zu haben, wenn sie theoretisch an verschiedenen Ports lauschen. Es scheint, dass Play diese Einstellungen ignoriert. Siehe mein gemeldetes Problem: https://github.com/playframework/Play20/issues/849. Das Kopfgeld gilt jemandem, der einen Weg zeigt, wie das Play Framework diese SBT-Testeinstellungen respektiert, um Junit-basierte Tests parallel in verschiedenen JVMs mit einer Build.scala-Datei auszuführen.
Ich fügte hinzu, wie dies die Einstellung, aber es scheint keine Wirkung haben: val main = play.Project (appName, appVersion, appDependencies) .settings ( parallelExecution in Test: = true ) Diese verpflichten zeigt auch, dass Laufen Mehrere Testserver haben mehr Probleme als ein in Konflikt stehender Port: https://github.com/playframework/Play20/commit/b951b22a76b51ea1235af3525cdf4d48edd19ad2 – Tamas
'fork in Test: = true' würde das Problem der parallelen Ausführung mehrerer TestServer-Instanzen lösen. (Angenommen, die Portzuordnung wurde berücksichtigt) Das Problem ist, dass Play meine Einstellungen ignoriert, die wie folgt definiert sind: 'val main = play.Project (...). Settings ([Einstellungen hier])' Selbst sehr einfache Tests das parallel ausgeführt werden kann, wird nicht parallel ausgeführt, unabhängig von der Einstellung parallelExecution in Test: = true. – Tamas