为了进行一些功能测试,需要运行一个假应用程序。为了使所有测试独立,假应用程序需要在每次设置测试时使用干净的数据库。为此,我在文档中发现理想的方法是使用这样的内存数据库:
@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。
最佳答案
关于java - 如何在 java play 2.5 中创建带有内存数据库的虚假应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45967753/