NoSuchMethodError в Мокито с Specs2 - PullRequest
       60

NoSuchMethodError в Мокито с Specs2

0 голосов
/ 28 февраля 2019

Я обновил проект Play 2.6 до Play 2.7.Проект компилируется, но я получаю NoSuchMethodError в тесте:

Exception in thread "specs2-8" java.lang.NoSuchMethodError: org.mockito.internal.progress.ThreadSafeMockingProgress.mockingProgress()Lorg/mockito/internal/progress/MockingProgress;
at org.mockito.ArgumentMatchers.reportMatcher(ArgumentMatchers.java:1329)
at org.mockito.ArgumentMatchers.anyObject(ArgumentMatchers.java:165)
at org.mockito.ArgumentMatchers.any(ArgumentMatchers.java:145)
at org.specs2.mock.mockito.MockitoMatchers.anyObject(MockitoMatchers.scala:49)
at org.specs2.mock.mockito.MockitoMatchers.anyObject$(MockitoMatchers.scala:49)
at workflow.ProcessAG2WorkflowSpec.anyObject(ProcessAG2WorkflowSpec.scala:25)
at workflow.ProcessAG2WorkflowSpec$$anon$1.delayedEndpoint$workflow$ProcessAG2WorkflowSpec$$anon$1$1(ProcessAG2WorkflowSpec.scala:36)
at workflow.ProcessAG2WorkflowSpec$$anon$1$delayedInit$body.apply(ProcessAG2WorkflowSpec.scala:31)
at scala.Function0.apply$mcV$sp(Function0.scala:34)
at scala.Function0.apply$mcV$sp$(Function0.scala:34)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at org.specs2.mutable.Around.$anonfun$delayedInit$2(Around.scala:16)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.execute.AsResult$.$anonfun$effectively$1(AsResult.scala:36)
at org.specs2.execute.ResultExecution.effectively(ResultExecution.scala:42)
at org.specs2.execute.ResultExecution.effectively$(ResultExecution.scala:40)
at org.specs2.execute.ResultExecution$.effectively(ResultExecution.scala:123)
at org.specs2.execute.AsResult$.effectively(AsResult.scala:36)
at play.api.test.WithApplicationLoader.$anonfun$around$1(Specs.scala:30)
at play.api.test.PlayRunners.$anonfun$running$2(Helpers.scala:75)
at play.api.test.PlayRunners.runSynchronized(Helpers.scala:52)
at play.api.test.PlayRunners.runSynchronized$(Helpers.scala:48)
at play.api.test.Helpers$.runSynchronized(Helpers.scala:617)
at play.api.test.PlayRunners.running(Helpers.scala:73)
at play.api.test.PlayRunners.running$(Helpers.scala:71)
at play.api.test.Helpers$.running(Helpers.scala:617)
at play.api.test.WithApplicationLoader.around(Specs.scala:30)
at de.mycompany.commons.play.specs2.BaseSpecs2$WithTestApplication.around(BaseSpecs2.scala:74)
at org.specs2.mutable.Around.$anonfun$delayedInit$1(Around.scala:16)
at org.specs2.execute.ResultExecution.effectively(ResultExecution.scala:42)
at org.specs2.execute.ResultExecution.effectively$(ResultExecution.scala:40)
at org.specs2.execute.ResultExecution$.effectively(ResultExecution.scala:123)
at org.specs2.mutable.Around.delayedInit(Around.scala:16)
at org.specs2.mutable.Around.delayedInit$(Around.scala:15)
at play.api.test.WithApplicationLoader.delayedInit(Specs.scala:27)
at workflow.ProcessAG2WorkflowSpec$$anon$1.<init>(ProcessAG2WorkflowSpec.scala:31)
at workflow.ProcessAG2WorkflowSpec.$anonfun$new$3(ProcessAG2WorkflowSpec.scala:31)
at org.specs2.matcher.Scope$$anon$3.$anonfun$asResult$1(ThrownExpectations.scala:152)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.execute.AsResult$.$anonfun$safely$1(AsResult.scala:40)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.AsResult$.safely(AsResult.scala:40)
at org.specs2.matcher.Scope$$anon$3.asResult(ThrownExpectations.scala:152)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.specification.core.AsExecution$$anon$1.$anonfun$execute$1(AsExecution.scala:17)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.execute.AsResult$.$anonfun$safely$1(AsResult.scala:40)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.AsResult$.safely(AsResult.scala:40)
at org.specs2.specification.core.Execution$.$anonfun$result$1(Execution.scala:310)
at org.specs2.specification.core.Execution$.$anonfun$withEnvSync$3(Execution.scala:328)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.execute.AsResult$.$anonfun$safely$1(AsResult.scala:40)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.AsResult$.safely(AsResult.scala:40)
at org.specs2.specification.core.Execution$.$anonfun$withEnvSync$2(Execution.scala:328)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.specification.Before.$anonfun$apply$3(Context.scala:43)
at org.specs2.execute.ResultExecution.executeEither(ResultExecution.scala:92)
at org.specs2.execute.ResultExecution.executeEither$(ResultExecution.scala:81)
at org.specs2.execute.ResultExecution$.executeEither(ResultExecution.scala:123)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:73)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:73)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.specification.Before.apply(Context.scala:43)
at org.specs2.specification.Before.apply$(Context.scala:42)
at org.specs2.specification.BeforeAfter.result$lzycompute$1(Context.scala:102)
at org.specs2.specification.BeforeAfter.result$1(Context.scala:102)
at org.specs2.specification.BeforeAfter.$anonfun$apply$4(Context.scala:103)
at org.specs2.execute.ResultExecution.execute(ResultExecution.scala:22)
at org.specs2.execute.ResultExecution.execute$(ResultExecution.scala:21)
at org.specs2.execute.ResultExecution$.execute(ResultExecution.scala:123)
at org.specs2.execute.Result$$anon$11.asResult(Result.scala:246)
at org.specs2.execute.AsResult$.apply(AsResult.scala:32)
at org.specs2.specification.After.apply(Context.scala:78)
at org.specs2.specification.After.apply$(Context.scala:77)
at org.specs2.specification.BeforeAfter.apply(Context.scala:103)
at org.specs2.specification.BeforeAfter.apply$(Context.scala:101)
at org.specs2.specification.BeforeAfterEach$$anon$1.apply(EachContext.scala:52)
at org.specs2.specification.create.ContextualFragmentFactory.$anonfun$example$6(FragmentFactory.scala:106)
at org.specs2.specification.core.Execution.$anonfun$startExecution$3(Execution.scala:136)
at scala.util.Success.$anonfun$map$1(Try.scala:251)
at scala.util.Success.map(Try.scala:209)
at scala.concurrent.Future.$anonfun$map$1(Future.scala:288)
at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

Настройка проекта следующая: есть базовый проект, который зависит от specs2 и других игровых функций.Базовый проект - это libraryDependency к проекту с NoSuchMethodError.

Та же самая настройка работает для других проектов, которые используют specs2, но не Mockito.Specs2 и Mockito (все и ядро) присутствуют.

Зависимости в нерабочем проекте:

sbt: org.mockito:mockito-all:1.10.8:jar
sbt: org.mockito:mockito-core:2.23.4:jar
sbt: org.specs2:specs2-common_2.12:4.3.6:jar
sbt: org.specs2:specs2-core_2.12:4.3.6:jar
sbt: org.specs2:specs2-fp_2.12:4.3.6:jar
sbt: org.specs2:specs2-junit_2.12:4.3.6:jar
sbt: org.specs2:specs2-matcher_2.12:4.3.6:jar
sbt: org.specs2:specs2-mock_2.12:4.3.6:jar
sbt: com.typesafe.play:play-specs2_2.12:2.7.0

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

У меня была эта ошибка, потому что файл моего проекта pom.xml ссылался на Mockito v1, а не на Mockito v2.

0 голосов
/ 28 февраля 2019

Единственная зависимость от мокито, которая вам нужна для specs2, это mockito-core.Вы должны удалить mockito-all, который должен быть добавлен в ваш проект через другую зависимость.Вы можете использовать плагин sbt-dependency-graph, чтобы исследовать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...