Exception 在FunctionalTests中使用newRequest时出现意外错误
我不明白我为什么会有这个错误。 当我使用newRequest时,调用 makeRequest(请求);方法 异常消息是:“play.mvc.results.NotFound:POST/” 但奇怪的是,在.url中,我指定了“/dashboard”,而不是 “/”(当然,url在POST请求的路由文件中有很好的指示!) 谢谢你的帮助 这是我的测试课:Exception 在FunctionalTests中使用newRequest时出现意外错误,exception,playframework,functional-testing,Exception,Playframework,Functional Testing,我不明白我为什么会有这个错误。 当我使用newRequest时,调用 makeRequest(请求);方法 异常消息是:“play.mvc.results.NotFound:POST/” 但奇怪的是,在.url中,我指定了“/dashboard”,而不是 “/”(当然,url在POST请求的路由文件中有很好的指示!) 谢谢你的帮助 这是我的测试课: public class DashboardTest extends FunctionalTest { protected Request
public class DashboardTest extends FunctionalTest {
protected Request ajaxRequest;
@Before
public void _setUp() {
Fixtures.deleteDatabase();
Fixtures.loadModels("fixtures/accounts.yml");
ajaxRequest = newRequest();
//ajaxRequest.headers.put("X-Requested-With", new Header("X-
Requested-With", "XMLHttpRequest"));
ajaxRequest.method = "POST";
ajaxRequest.url = "/dashboard";
}
@Test
public void testAuthenticateWithValidDataAjax() {
ajaxRequest.params.put("email", "john.sm...@gmail.com");
Response response = makeRequest(ajaxRequest);
assertIsOk(response);
assertContentType("application/json", response);
}
}
查看API文档,
.url
指定它需要完整的url。我建议您改为使用.action
用于this的Javadoc是
完整操作(例如:应用程序索引)
或者指定完整的URL,其中包括
http://localhost:9000/dashboard
如果仍然存在问题,您的最后一个选择是在Http.Request
对象上使用createRequest
方法,这样您就可以完全控制正在创建的请求对象。签名是这样的
createRequest
public static Http.Request createRequest(java.lang.String _remoteAddress,
java.lang.String _method,
java.lang.String _path,
java.lang.String _querystring,
java.lang.String _contentType,
java.io.InputStream _body,
java.lang.String _url,
java.lang.String _host,
boolean _isLoopback,
int _port,
java.lang.String _domain,
boolean _secure,
java.util.Map<java.lang.String,Http.Header> _headers,
java.util.Map<java.lang.String,Http.Cookie> _cookies)
createRequest
公共静态Http.Request createRequest(java.lang.String\u remoteAddress,
java.lang.String\u方法,
java.lang.String\u路径,
java.lang.String\u querystring,
java.lang.String\u contentType,
java.io.InputStream\u正文,
java.lang.String\u url,
java.lang.String\u主机,
布尔值_isLoopback,
国际港口,
java.lang.String\u域,
布尔安全,
java.util.Map_头,
java.util.Map(cookies)