java - 如何在 java play 2.5 中创建带有内存数据库的虚假应用程序?

标签 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。

最佳答案

关于java - 如何在 java play 2.5 中创建带有内存数据库的虚假应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45967753/

相关文章:

java - gradle + spring MVC + spring boot + jsp = 404错误?

php - 无法从数据库检索数据

java - 组合框和文本字段对齐问题

java - ListView setOnItemClickListener 不适用于 Switch 小部件

java - java编译器是否优化了无法访问的异​​常捕获分支?

java - 删除字符串中的特定单词

scala - 当从 websocket actor 接收时,Play actor sender() 返回自身

php - 带复选框的多重搜索

php - Angular 6/PHP 解析期间 Http 失败

playframework - 基于 "resource"连接的客户端正在处理的 BroadcastHub 过滤?