chciałem przetestować jeden z moich metod POST w moim kontrolera, więc napisałem coś takiego:play Framework - metoda kontroler testy POST
@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));
}
rzeczą jest, ten test nie powiedzie się, ponieważ metoda kontroler nie jest wywoływany w ogóle więc moje metody questionSetCollectionDAO
nie są wywoływane.
ja zdarzenie umieścić jakiś druk na górze metody:
@BodyParser.Of(Json.class)
@play.db.jpa.Transactional
public static Result postCollection(){
System.out.println("I am here");
...
i nie widzę żadnego wyjścia na konsoli.
Jeśli nie jest to sposób, w jaki można wywołać metody kontrolera z fałszywymi żądaniami, jak mogę to zrobić?
Przeczytałem o fakeApplication
, ale czy istnieje inny sposób na proste sprawdzanie metod kontrolera POST
?
Czy kiedykolwiek to wymyśliłeś lub znalazłeś coś jeszcze? – Meredith