【发布时间】:2012-05-10 12:06:18
【问题描述】:
我正在开发一个 playframework 项目,我们使用 scalatest 进行测试。我们还想做一些数据库测试。在 conf/application.conf 我们建立了一个数据库连接,但是当我们启动我们的测试时这似乎被忽略了。我们如何配置它?
【问题讨论】:
-
玩还是玩2.0?很重要,API 有分歧
标签: playframework scalatest anorm
我正在开发一个 playframework 项目,我们使用 scalatest 进行测试。我们还想做一些数据库测试。在 conf/application.conf 我们建立了一个数据库连接,但是当我们启动我们的测试时这似乎被忽略了。我们如何配置它?
【问题讨论】:
标签: playframework scalatest anorm
您的测试需要在 FakeApplication 上下文中运行。您可以像这样包装每个测试(使用 FunSpec):
describe("MyEntity") {
it("should do something") {
running(FakeApplication()) {
MyEntity.findById(1L).value.name should be("some name")
}
}
}
如果您不想对每个测试都重复此操作,您可以使用多种方法,请参阅 scalatest 文档了解有关如何共享修复的信息:sharing fixtures
【讨论】:
FakeApplication(additionalConfiguration = inMemoryDatabase()) 传递您自己的选项以覆盖与数据库相关的设置(驱动程序、连接 url 等)如果inMemoryDatabase 不是你想要的。
javaOptions in Test ++= Seq( "-Dconfig.file=conf/test.conf") 添加到您的 build.sbt