为什么Eclipse中的现有类没有显示“Run as jUnit Test”?

时间:2012-09-14 00:53:24

标签: java eclipse junit junit4

我在Eclipse中将方法作为jUnit运行时遇到问题。我知道如何在我的Mac上的Eclipse中这样做,现在我正试图让它在Ubuntu 12.04上运行。

通常情况下,如果您有类似...的方法

@Test
public void foo(){}

...您可以右键单击foo方法,其中一个选项是“Run as jUnit Test”。自从我开始尝试在我的Ubuntu机器上使用Eclipse中的jUnit测试以来,当我在一个全新的类中定义一个方法时,我看到了这个选项。例如,我使用方法test1创建了一个全新的类:

package all;

import org.junit.Test;

public class BabyClass {
    @Test
    public void test1(){}
}

右键单击test1会给我“运行jUnit测试”选项,jUnit测试按预期工作。

但是,如果我进入我的一个较旧的类(从我尝试使用jUnit之前)并尝试通过右键单击其名称来运行方法作为jUnit测试,那么运行为jUnit测试选项isn'在那里,这令人费解。 “old”和“new”类都在同一个包中,以防与知道相关。

有没有人有任何想法为什么我的旧类中的方法没有出现作为jUnit测试运行的选项?有什么我应该做的让选项出现吗?这看起来有点像Eclipse中的一个bug。

感谢。

1 个答案:

答案 0 :(得分:3)

您无法对涉及泛型的类进行jUnit测试。

package all;

import org.junit.Test;

public class BabyClass<T> {
    @Test
    public void test1(){

    }
}

婴儿类现已参数化,但您不能再使用它进行jUnit测试。