我已经将JUnit jar添加到我的类路径中,它可以使用命令窗口找到并运行测试,但是当我尝试编译测试我知道有效时,它似乎无法找到任何与JUnit的。我为每个测试类都收到以下错误。在另一台计算机上测试它可以工作,但不是我的。有什么想法吗?
EstateAgentTest.java:25: incompatible types
found : Test
required: java.lang.annotation.Annotation
@Test public void rentable1() {
非常感谢。
答案 0 :(得分:7)
我今天遇到了这个问题......
结果是调用我的班级名称" Test.java"这是一个坏主意 - 它与测试方法上方的@Test线发生冲突。修复:
答案 1 :(得分:6)
对于帖子的创建者来说,这可能有点晚了,但对于遇到相同问题的其他人,我遇到了完全相同的问题,并通过明确添加import org.junit.Test;
来解决它,所以我的导入现在看起来像这样:
import org.junit.*;
import org.junit.Test;
import static org.junit.Assert.*;
我不知道为什么它只适用于import org.junit.*;
。
答案 2 :(得分:1)
它不起作用的机器似乎没有注释功能的旧版Java。
您可以通过在命令行中输入java -version
来轻松测试。大概是1.4左右,注释需要至少1.5。
答案 3 :(得分:0)
我不知道它是否会有所作为,但我习惯于在测试方法声明之上看到@Test注释,如下所示:
@Test
public void testSomething()
{
//
}
我的第二个猜测是,以某种方式导入Test的另一个类文件不是JUnit注释。
答案 4 :(得分:0)
似乎你周围有Test
课,而且它是导入的。尝试使用此代码以确保使用jUnit Test
注释:
@org.junit.Test
void testSomething(){