【发布时间】:2015-10-22 15:44:49
【问题描述】:
我正在使用TestNG 和Mockito 对Spring MVC 控制器进行单元测试。我在 Maven 依赖项中包含了 Hamcrest 库,如下所示。我在这里想念什么?当我使用以下两种方法时出现错误:
org.hamcrest.Matchers.hasSize;
org.hamcrest.Matchers.is;
以下是我的依赖项:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.8</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
更新 1:
问题已通过将hamcrest-library 更改为hamcrest-all 解决。
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
更新 2:
根据 Tunaki 的建议,更好的解决方案是从 mockito 库中排除传递依赖 hamcrest-core。所以最终的依赖应该如下所示:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>1.10.8</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
【问题讨论】:
标签: eclipse maven unit-testing mockito hamcrest