나는 내 컨트롤러 내 POST 방법 중 하나를 테스트하고 싶었다, 그래서 나는 이런 식으로 뭔가를 작성 :플레이 프레임 워크 - 테스트 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));
}
것은이 컨트롤러 메소드가 호출되지 않기 때문에,이 테스트가 실패 전혀 내 questionSetCollectionDAO
메서드가 호출되지 않습니다.
I 이벤트는 방법의 상단에 약간의 인쇄를 넣어 :
@BodyParser.Of(Json.class)
@play.db.jpa.Transactional
public static Result postCollection(){
System.out.println("I am here");
...
나는 콘솔에 출력을 볼 수 없습니다.
가짜 요청으로 컨트롤러 메소드를 호출 할 수있는 방법이 아닌 경우 어떻게해야합니까?
나는 약 fakeApplication
에 대해 읽었지만 POST
컨트롤러 방법에 대한 간단한 테스트를 수행하는 다른 방법이 있습니까?
혹시 이것을 알아 내거나 다른 것을 찾았습니까? – Meredith