0
我從Play1.2+Java7
我的應用程序遷移到Play1.4+Java8
測試通過與Playframework 1.2.x的,但失敗的1.4.x Playframework
Play1.2+Java7
我測試通過OK Play1.4+Java8
我的測試失敗。
我已經將代碼降低到最小並再現了問題。這裏是主線
該模型是
package models;
import play.db.jpa.Model;
import javax.persistence.Entity;
@Entity
public class Token extends Model {
public String name;
public String role;
}
控制器是
package controllers;
import models.Token;
import play.mvc.Controller;
public class Application extends Controller {
public static void index() {
renderJSON(Token.all().fetch());
}
}
的DB測試配置是
%test.application.mode=dev
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
%test.jpa.ddl=create
測試是
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import org.junit.*;
import org.junit.Before;
import play.test.*;
import play.mvc.*;
import play.mvc.Http.*;
import models.*;
public class ApplicationTest extends FunctionalTest {
@Before
public void before() {
Token.deleteAll();
}
@Test
public void testThatIndexPageWorks() {
{
Response response = GET("/");
assertIsOk(response);
String content = getContent(response);
System.out.println(content);
assertFalse(content.contains("le nom"));
assertFalse(content.contains("identifier"));
}
Token t = new Token();
t.name="le nom";
t.role="identifier";
t.save();
{
Response response = GET("/");
assertIsOk(response);
String content = getContent(response);
System.out.println(content);
assertTrue(content.contains("le nom"));
assertTrue(content.contains("identifier"));
}
}
}
行爲不可預測。看來,在測試節約實體都致力於異步和呼叫控制器依賴於螺紋,而它在釋放沒有1.2
我可以提供,如果需要