Play Framework & Scala: Probleme mit FakeRequest & JSON POST im Komponententest

8

Ich habe zu viel Zeit damit verbracht, das folgende Problem zu debuggen, aber ich bin mir nicht sicher, wo das Problem auftritt.

Problem: Abrufen von 400 Bad Request, Invalid Json als Antwort mit folgender Ausnahme:

%Vor%

In meinem Controller zu testende Methode:

%Vor%

Entsprechender Komponententest:

%Vor%

Ich habe die Diskussion hier gelesen, aber keiner der Vorschläge half.

    
Prasanna 30.10.2013, 23:52
quelle

3 Antworten

0

Ich hatte ähnliche Probleme, habe sie aber bisher nicht gelöst (elegant, jedenfalls ..). Da meine Umgebung Java statt Scala war, kann ich nur eine Ahnung geben. Ich denke, dass es möglich ist, dass wenn Sie Post senden, es asynchron (Action.async bei Ihrer Methode create article) getan wird, so müssen Sie möglicherweise auf Testcode-Ergebnis warten, bevor Sie versuchen, um zu sehen, ob es OK ist.

    
Jukka Nikki 31.10.2013 21:59
quelle
0

Ich hatte ein ähnliches Problem und die Lösung ist hier . In meinem Fall war es, weil ich response.asJson() zweimal verwende und wie von @jroper

beschrieben
  

Wenn man bedenkt, dass der Hauptteil einer HTTP-Antwort ein Stream ist und nicht   etwas, das du unbedingt im Speicher puffern willst, dann macht es   spüren Sie, dass Sie zweimal auf den Körper zugreifen (unabhängig davon, welches Format Sie haben)   Zugriff auf den Körper in) würde nicht unterstützt werden.

    
Didac Montero 06.03.2014 10:18
quelle
0

Versuchen Sie, Ihre Anfrage in die Methodendefinition einzufügen.

So funktioniert es für mich (Beispiel mit POST mit JSON-Body und Ergebnis als JSON):

%Vor%

Hier behandelt der Code einen JsValue und fragt seine Knoten ab, um zu überprüfen, ob die zurückgegebenen Werte mit der gewünschten Scheindatenausgabe übereinstimmen

    
guilhebl 21.06.2017 19:50
quelle