我在测试中使用了ScalaTest和Mockito。如果我使用命令行测试通过。但是当我使用Intellij运行时出现以下错误。似乎只有测试有mockito导入。
An exception or error caused a run to abort: org.mockito.mock.MockCreationSettings.getSerializableMode()Lorg/mockito/mock/SerializableMode;
java.lang.NoSuchMethodError: org.mockito.mock.MockCreationSettings.getSerializableMode()Lorg/mockito/mock/SerializableMode;
at org.powermock.api.mockito.repackaged.AcrossJVMSerializationFeature.enableSerializationAcrossJVM(AcrossJVMSerializationFeature.java:166)
at org.powermock.api.mockito.repackaged.CglibMockMaker.createMock(CglibMockMaker.java:23)
at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:46)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:26)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:51)
at org.mockito.Mockito.mock(Mockito.java:1243)
at org.mockito.Mockito.mock(Mockito.java:1120)
at org.scalatest.mock.MockitoSugar$class.mock(MockitoSugar.scala:74)
答案 0 :(得分:0)
我遇到了与Eclipse完全相同的问题,因为我有多个org.mockito.mock.MockCreationSettings类实例。这个类出现在mockito-core.jar和mockito-all.jar中。我不是为什么开始失败,我使用相同的配置很长时间和很多测试,但问题是我必须从pom.xml中删除mockito-core依赖并且只保留mockito-all。希望它有所帮助。
PS:你也可以运行mvn依赖:树来检查另一个依赖是否也带来了mockito-core.jar
答案 1 :(得分:0)
正在寻找getSerializableMode()
类中名为MockCreationSettings
的方法。您的Mockito和PowerMock版本似乎不匹配。
尝试通过Maven存储库获取PowerMock,并检查您的powermock-api-mockito所依赖的Mockito版本。
答案 2 :(得分:0)
我正在使用IntelliJ Ultimate 2019.3,Scala 2.12.8。我面临着同样的问题。
升级库对我有用。之前:
"org.scalatest" %% "scalatest" % "3.0.5"
"org.mockito" %% "mockito-scala" % "1.5.12"
"org.mockito" %% "mockito-scala-scalatest" % "1.5.12"
之后:
"org.scalatest" %% "scalatest" % "3.1.1"
"org.mockito" %% "mockito-scala" % "1.13.0"
"org.mockito" %% "mockito-scala-scalatest" % "1.13.0"