내 테스트를 데이터베이스에 삽입하는 데 문제가 있습니다. 운이없는 몇 가지 접근법을 시도했습니다. FakeApplication 내에서 테스트를 실행할 때 Global.onStart가 실행되지 않는 것 같습니다. Play Framework 2.0 (스칼라)에 테스트 데이터를 삽입하려면 어떻게해야합니까?
object TestGlobal extends GlobalSettings {
val config = Map("global" -> "controllers.TestGlobal")
override def onStart(app: play.api.Application) = {
// load the data ...
}
}
그리고 내 테스트 코드에
:private def fakeApp = FakeApplication(additionalConfiguration = (
inMemoryDatabase().toSeq +
TestGlobal.config.toSeq
).toMap, additionalPlugins = Seq("plugin.InsertTestDataPlugin"))
은 그 때 나는 각각의 테스트에서
running(fakeApp)
를 사용합니다.
plugin.InsertTestDataPlugin
은 다른 시도 였지만 conf/play.plugins
에 플러그인을 정의하지 않으면 작동하지 않았습니다.이 코드는 테스트 범위에서만 필요하므로 원하는 것은 아닙니다.
이들 중 일부는 작동해야합니까? 비슷한 옵션으로 성공한 사람이 있습니까?
가 올바르게'''InsertTestDataPlugin''' 철자나요
:그리고, 대신
running(FakeApplication()){ /* ... */}
, 나는 이렇게? Google 검색은이 SO 문제 만 제기했기 때문입니다. – opyate그래, 플러그인 클래스를 확장하여 직접 플러그인을 만들었는데 :-) 주된 소스에서 사용될 때 작동하고 play.plugins에 추가되었습니다. 그것에는 onStart 메소드가 있습니다. 그러나 그것은 주요 출처 범위에 있어야했습니다. – Arve