我是 Play 的新人! 2.1.我正在尝试 TDD 我的数据库集成测试。阅读网站上的示例后。我这样写了我的测试。
@Test
public void shouldGetDealName() {
running(fakeApplication(), new Runnable() {
public void run() {
List books = Book.find.all();
Assert.assertEquals(books.size(), 1);
}
});
}
我的问题是,我是否需要始终将代码包装在 running(fakeAppliation()...
中?因为如果我在没有 fakeApplication 的情况下运行此代码。它似乎不起作用。如果必须这样,那么是否有更好的方法在 Java 中执行此操作?对于我来说,每次进行集成或功能测试时都将代码包装在该 block 中似乎是错误的。
谢谢。
最佳答案
假设您想使用内存数据库并且希望为每个测试重新创建它,您可以这样做:
public class ApplicationTest extends WithApplication {
@Before
public void setup() {
start(fakeApplication(inMemoryDatabase(), fakeGlobal()));
}
@Test
public void shouldGetDealName() {
List books = Book.find.all();
Assert.assertEquals(books.size(), 1);
}
}
关于java - 如何在Play 2.1中正确编写数据库集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15960377/