我想測試我的控制器我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
方法。
我的事件把一些印在方法的頂部:
@BodyParser.Of(Json.class)
@play.db.jpa.Transactional
public static Result postCollection(){
System.out.println("I am here");
...
,我沒有看到任何控制檯輸出。
如果這不是我可以用假請求調用控制器方法的方式,那我該怎麼做?
我讀了關於fakeApplication
,但我有沒有其他方式來做一些簡單的測試POST
控制器方法?
你有沒有想過或找到其他的東西? – Meredith 2013-07-26 22:12:10