我需要使用Play Framework v2.1.1测试用Java编写的API
考虑下面的测试,它传递(isNotNull)但我无法检查我是否得到了正确的结果(即状态代码,响应中的JSON数组,......)。它适用于任何呼叫,即使路由实际上不存在。
Logger记录以下内容:AsyncResult(scala.concurrent.impl.Promise$DefaultPromise@3c7feca8
这是否意味着结果仍然存在,如果是的话:我如何得到它?
@Test
public void testRoute() {
Result result = routeAndCall(fakeRequest(GET, "/api/call"));
assertThat(result).isNotNull();
Logger.info(result.toString());
}
感谢任何回复! :)
答案 0 :(得分:0)
您可以使用Helpers类:
import static play.test.Helpers.*; //important import
@Test
public void testRoute() {
Result result = routeAndCall(fakeRequest(GET, "/api/call"));
assertThat(result).isNotNull();
assertThat(status(result)).isEqualTo(200);
assertThat(getContentAsString(result)).isEqualTo("{\"a\": [1,2,3,4,5]}");
}