如何在java play 2.5中使用内存数据库创建假应用程序?

时间:2017-08-30 18:47:40

标签: java mysql playframework

为了进行一些功能测试,需要运行虚假应用程序。为了使所有测试独立,每次设置测试时,假应用程序都需要使用干净的数据库。为了做到这一点,我在文档中发现理想的方法是使用这样的内存数据库:

@Before
public void before() {
    app = fakeApplication(inMemoryDatabase());
    start(app);

    initializeData();
}

@After
public void after() {
    stop(app);

}

问题在于它没有将MODE设置为MYSQL,因为普通数据库是MYSQL数据库。要设置此模式,必须添加选项。使用下面的代码完成了。请注意,“test”是数据库的名称(与“default”不同,以避免混淆)。

app =fakeApplication(inMemoryDatabase("test", ImmutableMap.of("MODE", "MYSQL")));

但是这段代码很奇怪:它使用在application.conf中配置的默认数据库(甚至不是内存数据库)然后我将代码更改为以下内容:

app =fakeApplication(inMemoryDatabase("default", ImmutableMap.of("MODE", "MYSQL")));

但这没有做任何事情:它仍然说没有设置MODE MYSQL。

有人可以帮助我吗?

对于框架,使用java play 2.5。

1 个答案:

答案 0 :(得分:0)