Exception 在FunctionalTests中使用newRequest时出现意外错误

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

我不明白我为什么会有这个错误。 当我使用newRequest时,调用 makeRequest(请求);方法

异常消息是:“play.mvc.results.NotFound:POST/” 但奇怪的是,在.url中,我指定了“/dashboard”,而不是 “/”(当然,url在POST请求的路由文件中有很好的指示!)

谢谢你的帮助

这是我的测试课:

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)