0
为了做一些功能测试,需要假应用程序来运行。为了使所有测试独立,虚拟应用程序需要在每次安装测试时使用干净的数据库。为了做到这一点,我的文件上发现,理想的方式是使用内存数据库是这样的:如何在java play 2.5中使用inmemory数据库创建假应用程序?
@Before
public void before() {
app = fakeApplication(inMemoryDatabase());
start(app);
initializeData();
}
@After
public void after() {
stop(app);
}
这里的问题是,它并没有将模式设置为MYSQL,因为正常的数据库是一个MYSQL数据库。为了设置此模式,必须添加选项。这是使用下面的代码完成的。请注意,“test”是数据库的名称(不同于“默认”以避免混淆)。
app =fakeApplication(inMemoryDatabase("test", ImmutableMap.of("MODE", "MYSQL")));
但是这个代码不奇怪的东西:它使用默认的数据库(这甚至不是一个内存数据库)中application.conf配置于是我改变了代码如下:
app =fakeApplication(inMemoryDatabase("default", ImmutableMap.of("MODE", "MYSQL")));
但这没有做什么:它仍然说MODE MYSQL没有设置。
有人可以帮助我吗?
对于框架java play 2.5被使用。
我也尝试过,但是我无法连接到数据库。我使用了app = fakeApplication(ImmutableMap.of(“db.default.url”,database.getUrl(),“db.default.driver”,“org.h2.Driver”,“db.default.username”,“” “db.default.password”, “”));和在文档中提供的代码,但数据库未设置为MYSQL,因为它“SQL语句中的语法错误”崩溃[*]#“ –