[英]Unable to stub controller components
The method stubControllerComponents
in package play.api.test
appears to use same package and object name as a separate dependency which is causing a conflict when I attempt to use stubControllerComponents
:
play.api.test.Helpers.stubControllerComponents
在以下代碼中找不到:
import java.io.File
import play.api.test
import play.api.mvc._
import javax.inject._
import play.api.Environment
import play.api.mvc.{AbstractController, ControllerComponents}
class CountController @Inject() (cc: ControllerComponents,
env: Environment) extends AbstractController(cc) {
def getter() = Option(env.classLoader.getResourceAsStream("file.csv"))
}
play.api.Environment(play.api.test.Helpers.stubControllerComponents, Environment.simple())
這個 Helpers 包含我需要stubControllerComponents
的方法:
但是這個版本的 class 正在通過import play.api.test
:
存根播放鏈接: https://www.playframework.com/documentation/2.6.x/Highlights26#StubControllerComponents
構建.sbt:
name := "ddd"
version := "1.0"
lazy val `ddd` = (project in file(".")).enablePlugins(PlayScala)
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases"
resolvers += "Akka Snapshot Repository" at "https://repo.akka.io/snapshots/"
scalaVersion := "2.12.2"
libraryDependencies ++= Seq( jdbc , ehcache , ws , guice , specs2 % Test)
unmanagedResourceDirectories in Test <+= baseDirectory ( _ /"target/web/public/test" )
我是否需要排除部分依賴項,在這種情況下filters-helpers
以使stubControllerComponents
可用?
更新:
play.api.test.Helpers.stubControllerComponents
未找到:
更新2:
您似乎正在使用暫存文件。 AFAICS,無法將測試 scope 中的依賴項也包含到工作表的類路徑中。
一種解決方法是(暫時)將播放測試工件添加到您的libraryDependencies
中。 或者只是創建一個適當的測試文件,它可以正常訪問測試庫。
play.api.test.Helpers.stubControllerComponents
由play-test
依賴項提供
libraryDependencies += "com.typesafe.play" %% "play-test" % PlayVersion.current % "test",
這是由在project/plugins.sbt
指定的 Play 的sbt 插件間接導入的
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.1")
在項目的build.sbt
中明確enablePlugins(PlayScala)
之后。
請注意play-test
如何開箱即用地test
配置,因此它僅在測試類路徑上提供。 如果您希望從IntelliJ Scala Worksheet中引用stubControllerComponents
,請確保在test/
目錄中而不是在app/
目錄中創建工作表。 這將使 Scala 工作表使用test
類路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.