maxAge必须是-1,0或正整数:-2147483648

时间:2015-01-28 14:08:22

标签: java playframework-2.2 playframework-2.3

我尝试使用来自播放测试API的fakeApplication和FakeRequest()来测试我的Play应用。

代码如下:

    running(fakeApplication(extraConfig, settings),() ->
         {
            Map<String, String> body = new HashMap();
            body.put("login", "login");
            body.put("password", "password");
            // Arrange
            FakeRequest request = new FakeRequest(POST, "/login")
                    .withSession("user_id", "1")
                    .withCookies(new Http.Cookie("1", "1", 125, null, null, false, false)).withFormUrlEncodedBody(body)
                    ;

            // Act
            Result result = route(request);}

无论我如何撰写我的请求(使用cookies,没有cookie,完全为空)并不总是同样的错误:

java.lang.IllegalArgumentException: maxAge must be either -1, 0, or a positive integer: -2147483648
    at org.jboss.netty.handler.codec.http.DefaultCookie.setMaxAge(DefaultCookie.java:185)
    at play.api.mvc.Cookies$$anonfun$10.apply(Http.scala:733)
    at play.api.mvc.Cookies$$anonfun$10.apply(Http.scala:730)
    at scala.collection.immutable.Stream.map(Stream.scala:376)
    at play.api.mvc.Cookies$.encode(Http.scala:730)
    at play.api.mvc.Cookies$.merge(Http.scala:781)
    at play.api.test.FakeRequest.withSession(Fakes.scala:97)
    at play.test.FakeRequest.withSession(FakeRequest.java:131).....

有时唯一不同的是这个“正数”-2147483648。

我真的被困在这里了。应用程序设置有很多不同的变体(使用Scala,使用Java,使用Play2.0.X,2.1,2.2等)。无论我做什么,我在这里提供的代码片段都不适用于我的Play 2.3.7 / Java。

0 个答案:

没有答案