无法存根控制器组件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法存根控制器组件相关的知识,希望对你有一定的参考价值。

程序包stubControllerComponents中的方法play.api.test似乎使用相同的程序包和对象名称作为单独的依赖项,当我尝试使用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())

此帮助程序包含我需要的方法stubControllerComponents

enter image description here

但是该类的版本是通过import play.api.test导入的:

enter image description here

用于存根的播放链接:https://www.playframework.com/documentation/2.6.x/Highlights26#StubControllerComponents

build.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找不到:

enter image description here

Update2:

enter image description here

答案

您没有导入Helpers对象。为此:

import play.api.test._

// or

import play.api.test.Helpers

编辑:从头开始...

以上是关于无法存根控制器组件的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 rspec 存根辅助方法

导航组件:找不到NavController

导航组件:找不到 NavController

无法使用 Alamofire 测试存根响应

无法移动到嵌套子导航组件中的父片段?

UnsatisifedLinkedError:无法在 jar 文件中找到存根库