我想测试我的控制器我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