Scala Mockito-Mocking剪影总是抛出NullPointerException

Scala Mockito-Mocking剪影总是抛出NullPointerException,scala,playframework,mockito,specs2,silhouette,Scala,Playframework,Mockito,Specs2,Silhouette,我正在使用PlayFramework2.5和Scala2.11的剪影库。 以及使用PlaySpecs2和mockito编写测试代码。 现在,我一直在尝试抛出一个异常。 但是,mock总是在调用它之前抛出NullPointerException 下面是测试代码的目标 class TestController @Inject() ( ... silhouette: Silhouette[DefaultEnv]) extends Controller { def target() = s

我正在使用PlayFramework2.5和Scala2.11的剪影库。 以及使用PlaySpecs2和mockito编写测试代码。 现在,我一直在尝试抛出一个异常。 但是,mock总是在调用它之前抛出NullPointerException

下面是测试代码的目标

class TestController @Inject() (
  ...
  silhouette: Silhouette[DefaultEnv]) extends Controller {

  def target() = silhouette.SecuredAction.async { implicit request =>
    try {
      silhouette.env.authenticatorService.discard(request.authenticator, Ok)
    } catch {
      case t: Throwable =>
        Future.successful(InternalServerError(...))
    }
  }
}
测试代码如下

class TestControllerSpec extends PlaySpecification with Mockito {
  ...
  trait Context extends Scope {
    val mockTest = mock[Silhouette[DefaultEnv]]

    // This always throws a NullPointerException.
    mockTest.env.authenticatorService.discard(any[JWTAuthenticator], any[Result])(any[RequestHeader]) throws new AuthenticatorDiscardingException("AuthenticatorDiscardingException")

    lazy val appMock = new GuiceApplicationBuilder()
      .overrides(new FakeModule)
      .overrides(bind[Silhouette[DefaultEnv]].toInstance(mockTest))
      .build
  }
  ...
}
我有如下错误消息

[error]      java.lang.NullPointerException: null (TestControllerSpec.scala:123)
[error] controllers.TestControllerSpec$$anonfun$29$Context$1$$anonfun$40.apply(TestControllerSpec.scala:123)
[error] controllers.TestControllerSpec$$anonfun$29$Context$1$$anonfun$40.apply(TestControllerSpec.scala:123)
[error] controllers.TestControllerSpec$$anonfun$29$Context$1$class.$init$(TestControllerSpec.scala:123)
[error] controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18$$anon$32.<init>(TestControllerSpec.scala:393)
[error] controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18.apply(TestControllerSpec.scala:393)
[error] controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18.apply(TestControllerSpec.scala:393)
[error]java.lang.NullPointerException:null(TestControllerSpec.scala:123)
[错误]controllers.TestControllerSpec$$anonfun$29$Context$1$$anonfun$40.apply(TestControllerSpec.scala:123)
[错误]controllers.TestControllerSpec$$anonfun$29$Context$1$$anonfun$40.apply(TestControllerSpec.scala:123)
[错误]controllers.TestControllerSpec$$anonfun$29$Context$1$class.$init$(TestControllerSpec.scala:123)
[错误]controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18$$anon$32。(TestControllerSpec.scala:393)
[错误]controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18.apply(TestControllerSpec.scala:393)
[错误]controllers.TestControllerSpec$$anonfun$29$$anonfun$apply$16$$anonfun$apply$18.apply(TestControllerSpec.scala:393)

您好,您能解决这个问题吗?我也面临着这个问题。不,我最终无法解决这个问题。希望在最新版本中解决此问题。您好,您是否能够解决此问题?我也面临着这个问题。不,我最终无法解决这个问题。希望在最新版本中解决此问题。