我最近通过添加外部jar“ mockito-core-2.0.53-beta.jar”,并尝试创建我的第一个模拟对象(函数中的第二行),将Mockito添加到了Eclipse上的Maven项目中。

在此处输入图片说明

并在运行它时,控制台打印出第一行,然后引发此错误:

在此处输入图片说明

以前似乎有一个类似的问题,但据认为是内部解决的。 https://github.com/raphw/byte-buddy/issues/99

这是怎么了?

===============>>#1 票数:10 已采纳

您只是忘了根据pom文件将依赖项添加到项目中:

<dependency>
  <groupId>net.bytebuddy</groupId>
  <artifactId>byte-buddy</artifactId>
  <version>1.3.16</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.objenesis</groupId>
  <artifactId>objenesis</artifactId>
  <version>2.1</version>
  <scope>runtime</scope>
</dependency>

换句话说,您还需要在项目中添加byte-buddy 1.3.16和目标objenesis 2.1

在这里更多细节

===============>>#2 票数:1

而是添加

模拟核

更好的选择将添加

全部模拟

请参阅此链接https://mvnrepository.com/artifact/org.mockito/mockito-all/2.0.2-beta

===============>>#3 票数:1

有一篇文章很好地解释了这个问题,您可以在这里找到它:

https://solidsoft.wordpress.com/2012/09/11/beyond-the-mockito-refcard-part-3-mockito-core-vs-mockito-all-in-mavengradle-based-projects/

如果您不使用gradle或maven,而仅使用嘲笑核心,则应添加以下依赖项:

<dependency>
  <groupId>net.bytebuddy</groupId>
  <artifactId>byte-buddy</artifactId>
  <version>1.7.9</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.objenesis</groupId>
  <artifactId>objenesis</artifactId>
  <version>2.4</version>
  <scope>runtime</scope>
</dependency>

===============>>#4 票数:0

java.lang.NoClassDefFoundError

这表明在您的.jar(org.mockito)中,您没有该类。 当您的类路径中有多个.jar(版本不同)时,通常会发生这种情况。 您可以检查一下。

  ask by efong5 translate from so

未解决问题?本站智能推荐: