2016-03-21 12 views
0

Ich habe Play Framework 2.5 installiert, indem ich die Activator-Bundle-Version heruntergeladen und extrahiert habe. Ich habe den Befehl activator verwendet, um eine neue Scala-Anwendung von Play zu erstellen, und bin dann in die Spielkonsole eingetreten. In der Spielkonsole tippte ich console, um die Skala zu erhalten. An der Eingabeaufforderung habe ich versucht, WithApplication aus dem play.api.test Paket zu importieren und bekam den folgenden FehlerPlay Framework und Scala-Import

scala> import play.api.test.{WithApplication} 
<console>:10: error: object WithApplication is not a member of package play.api.test 
     import play.api.test.{WithApplication} 

Ich habe auch versucht, es in einer Testklasse innerhalb des Testverzeichnisses in ExampleControllerSpec.scala und bekam den gleichen Fehler erstellt zu importieren. Hier

import org.scalatest._ 
import org.scalatestplus.play._ 

import play.api.mvc._ 
import play.api.test._ 
import play.api.test.Helpers._ 

class ExampleControllerSpec extends PlaySpec { 
    "Example Page#index" should { 
    "should be valid" in new WithApplication { 
    } 
    } 
} 

ist die Ausgabe von den PlayConsole

$ test 
[info] Compiling 1 Scala source to D:\Play\TestApp\target\scala-2.11\test-classes... 
[error] D:\Play\TestApp\test\ExampleControllerSpec.scala:10: not found: type WithApplication 
[error]  "should be valid" in new WithApplication { 
[error]       ^
[error] one error found 
[error] (test:compileIncremental) Compilation failed 

Wenn ich in der Dokumentation sehe ich sehe, dass es dort https://www.playframework.com/documentation/2.5.x/api/scala/index.html#play.api.test.package

Also, warum es nicht in meiner Test-Klasse funktioniert und in der Scala repl?

+0

Wenn der Import in der Testdatei durchgeführt wurde, welcher Aktivierungsbefehl wurde ausgeführt, der den Fehler ausgelöst hat? –

+0

Ich führe den Testbefehl zum Testen der Datei aus. – jerome

+0

Sogar in Play 2.4 habe ich WithApplication nur in play.test, nicht play.api.test. Also, wenn Sie eine schnelle Lösung benötigen, verwenden Sie diesen Import, aber es ist wirklich seltsam, dass es nicht in play.api.test ist, da die Dokumente sagen, dass es sein sollte. Das Spiel hat eine sehr verwirrende Dokumentation, ich habe die letzten 20 Minuten gesucht und kann es nicht wirklich herausfinden. Es sollte da sein, aber es ist nicht. – slouc

Antwort

2

Verwenden Sie test:console in der REPL. Testklassen werden nicht alle in den Hauptbereich der Kompilierung geladen.

+0

Vielen Dank für die Hilfe, was ist mit dem Importfehler beim Ausführen des Befehlstests, nachdem ich eine Scala-Testdatei erstellt habe, die WithApplication importiert? – jerome