我的项目中属于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/