线程" main"中的例外情况java.lang.NoClassDefFoundError:org / mockito / Mockito

时间:2018-05-18 12:18:01

标签: java mocking mockito service-virtualization

我是Mockito的新手并试图从Here倾斜, 我在教程中提到的所有配置(使用Win-10)。

在环境变量中设置:

enter image description here

Mockito版本:

<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>2.0.2-beta</version>
    <scope>test</scope>
</dependency>

我从同一个例子中提到的例子开始。但是当我在我的课程中运行测试时,它会显示以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/mockito/Mockito
  at com.mockitotest.PortfolioTester.setUp(PortfolioTester.java:23)
  at com.mockitotest.PortfolioTester.main(PortfolioTester.java:14)
Caused by: java.lang.ClassNotFoundException: org.mockito.Mockito
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  ... 2 more

我不知道这里出了什么问题。有人能帮助我吗?

1 个答案:

答案 0 :(得分:3)

范围test表示依赖关系(二进制文件)仅使用maven的测试阶段。但它们并不是最终目标罐子。因此,如果您自己运行测试(而不是让maven这样做),您最好保留默认的运行时范围,如下所示:

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>2.0.2-beta</version>
</dependency>