0
我正在嘗試爲使用play framework 2.4和scala編寫的應用程序編寫測試。源是可用的here如何在Play框架應用程序中進行完整的集成測試?
我想寫測試,將與整個堆棧一起工作。我們正在使用通過REST API提供的neo4j數據庫。
這裏是我的測試:
package integration
import org.specs2.mutable._
import org.specs2.specification._
import play.api.test.Helpers._
import play.api.test._
import setup.TestSetup
class PublicAPISpec extends Specification with BeforeEach {
def before = TestSetup.populateNeo4JData()
"The score feedback badge api" should {
"deliver a correct svg file" in {
running(FakeApplication()) {
val svg = route(FakeRequest(GET, "/api/badges/github/test/test.svg")).get
status(svg) must equalTo(OK)
contentType(svg) must beSome.which(_ == "image/svg+xml")
}
}
}
}
這裏是我的堆棧跟蹤:
[info] The score feedback badge api should
[error] ! deliver a correct svg file
[error] There is no started application (Play.scala:71)
[error] play.api.Play$$anonfun$current$1.apply(Play.scala:71)
[error] play.api.Play$$anonfun$current$1.apply(Play.scala:71)
[error] play.api.Play$.current(Play.scala:71)
[error] setup.TestSetup$.setup$TestSetup$$cypher(TestSetup.scala:80)
[error] setup.TestSetup$.clearNeo4JData(TestSetup.scala:23)
[error] setup.TestSetup$.populateNeo4JData(TestSetup.scala:32)
[error] integration.PublicAPISpec.before(PublicAPISpec.scala:15)
[error] integration.PublicAPISpec.before(PublicAPISpec.scala:13)
編輯 事實證明,像堆棧跟蹤明明指出的主要問題是在TestSetup類。這個類取決於一個遊戲應用程序運行,而不應該。經過一些重構後,它現在就像一個魅力。
謝謝你的答案,但是我得到了完全相同的異常 –
我拉了代碼,但我沒有找到該文件。 – roterl
這是在一個分支,我只是推它:[這裏](https://github.com/gitlinks/gitrank-web/blob/feature/giveFeedbackBadge/test/integration/PublicAPISpec.scala)你去。謝謝您的幫助 ! –