为了进行一些功能测试,需要运行虚假应用程序。为了使所有测试独立,每次设置测试时,假应用程序都需要使用干净的数据库。为了做到这一点,我在文档中发现理想的方法是使用这样的内存数据库:
@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。
答案 0 :(得分:0)