我的项目中属于Junit的程序包(在org.junit, org.junit.experimental.results, org.junit.internal, org.junit.internal.matchers, org.junit.matchers, org.junit.rules中)遇到编译错误。

所有这些类都在我的项目中的junit软件包下,表示为:Security/src/org.junit, Security/src/org.junit.experimental.results,其中Security是我的项目的名称。我编写的类在我定义的其他程序包下:Security/src/myPackage/myClass

在所有这些类中,它都会在导入行中产生一个组合错误,例如:

import org.hamcrest.Description cannot be resolved
import org.hamcrest.Matcher cannot be resolved;
import static org.junit.matchers.JUnitMatchers.containsString cannot be resolved;


检查一切正常(绿色/红色条显示,并给出正确的结果),但是这个问题给我所有项目一个错误。

最佳答案

您的JUnit版本需要Hamcrest。您应该将其包括在您的构建路径中或使用较旧的JUnit版本。

版本4.10有不同的JUnit软件包:


junit-4.10.jar:包括Hamcrest,您应该使用它。
junit-dep-4.10.jar:不包括Hamcrest,如果您的buildpath中已经有一个hamcrest jar,请使用它。

关于java - Java/使用Junit 4会产生编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10317701/

10-13 05:26