Scala Mockito-Mocking剪影总是抛出NullPointerException
我正在使用PlayFramework2.5和Scala2.11的剪影库。 以及使用PlaySpecs2和mockito编写测试代码。 现在,我一直在尝试抛出一个异常。 但是,mock总是在调用它之前抛出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
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)
您好,您能解决这个问题吗?我也面临着这个问题。不,我最终无法解决这个问题。希望在最新版本中解决此问题。您好,您是否能够解决此问题?我也面临着这个问题。不,我最终无法解决这个问题。希望在最新版本中解决此问题。