2014-01-24 6 views
6

Ich habe einen Spray-Service, der einen POST mit bestimmten ausgefüllten Formularfeldern erwartet. Ich versuche herauszufinden, wie ich einen geeigneten POST in meiner Testspezifikation erstellen kann, um dies zu testen.Wie erstelle ich eine POST-Anfrage mit Formularfeldinhalt mit Spray?

Was ich bisher

Post("/customer") ~> sealRoute(myRoute) ~> check { 
    responseAs[String] must contain("Success message") 
    } 

haben, die einen POST an den/Kunden Route der Fall ist, wie erwartet. Wie füge ich Formularfelder dazu?

Antwort

10

können Sie verwenden, um die spray.http.FormData Klasse:

Post("/customer", FormData(Seq("field1"->"value1", "field2"->"value2")) ~> 
    sealRoute(myRoute) ~> check { 
    responseAs[String] must contain("Success message") 
    } 
+0

nicht kompiliert mit 'nicht impliziten Wert für den Parameter finden konnte ta: MyControllerSpec.this.TildeArrow [spray.routing.RequestContext, Referat] Post (“/customer ", FormData (Seq (" field1 "->" Wert1 "," Feld2 "->" Wert2 "))) ~> sealRoute (sso.route) ~> check {^' – Tvaroh

+0

'Post ("/", FormData (Map ("foo" -> "bar"))) ~> route ~> check' funktioniert für mich – Sergey