Ich wollte eine meiner POST-Methoden in meinem Controller testen, so dass ich etwas wie folgt geschrieben:Play-Rahmen - Test POST Controller-Methode
@Test
public void shouldSaveNewCollectionToDatabase(){
String body = "{\"name\":\"collectionName\", \"owner\": {}}";
JsonNode json = Json.parse(body);
FakeRequest request = new FakeRequest(POST, "/rest/collections/add").withJsonBody(json);
Result result = callAction(controllers.routes.ref.SetsAndCollections.postCollection(), request);
verify(questionSetCollectionDAO).save(any(QuestionSetCollection.class));
}
die Sache ist, dieser Test fehl, da Controller-Methode nicht aufgerufen wird überhaupt nicht meine questionSetCollectionDAO
Methoden werden nicht aufgerufen.
I Veranstaltung setzte einig Druck an der Spitze des Verfahrens:
@BodyParser.Of(Json.class)
@play.db.jpa.Transactional
public static Result postCollection(){
System.out.println("I am here");
...
und ich keine Ausgabe auf der Konsole sehen.
Wenn das nicht die Art ist, wie ich Controller-Methoden mit gefälschten Anfragen aufrufen könnte, wie kann ich das tun?
Ich lese über fakeApplication
aber ich gibt es eine andere Möglichkeit, einige einfache Tests von POST
Controller-Methoden zu tun?
Haben Sie das jemals herausgefunden oder finden Sie noch etwas? – Meredith