为什么可以';我是否从包资源管理器运行所有Java JUnit测试Scala插件问题

为什么可以';我是否从包资源管理器运行所有Java JUnit测试Scala插件问题,java,eclipse,scala,junit,Java,Eclipse,Scala,Junit,编辑3 我安装了新版本的eclipse(Mars-4.5.0),一切正常。然而,当我通过Eclipse Marketplace重新安装Scala时,问题再次出现。也许是scala插件的原因 编辑2 我对它进行了更多的研究,发现如果我删除某些包,功能就会恢复。具体来说,如果我删除包functional和io,运行整个项目测试的能力就会恢复。重命名包没有帮助,只是删除了它们。此外,如果我在这些包中添加JUnit测试,我仍然无法通过包资源管理器运行整个包来运行该测试 我在Eclipse中遇到了一个

编辑3

我安装了新版本的eclipse(Mars-4.5.0),一切正常。然而,当我通过Eclipse Marketplace重新安装Scala时,问题再次出现。也许是scala插件的原因


编辑2

我对它进行了更多的研究,发现如果我删除某些包,功能就会恢复。具体来说,如果我删除包
functional和io
,运行整个项目测试的能力就会恢复。重命名包没有帮助,只是删除了它们。此外,如果我在这些包中添加JUnit测试,我仍然无法通过包资源管理器运行整个包来运行该测试


我在Eclipse中遇到了一个特定Java项目的问题。当我尝试从project explorer运行所有JUnit测试时(通过
[右键单击项目文件夹]-->run as-->JUnit Test
),我收到了许多人似乎看到的错误消息:

启动JUnit测试时出现问题: 未找到具有测试运行程序“JUnit 4”的测试

单击消息上的“确定”将弹出“运行配置”对话框

奇怪的是,在整个项目范围内,这个问题对这个项目来说似乎非常孤立。我能够顺利完成以下工作:

  • 打开此项目并单击顶部的绿色运行按钮,运行该项目中的任何单个测试
  • 通过右键单击project explorer中的类并选择Run as JUnit test,运行此项目中的任何单个测试
  • 使用相同的方法运行此项目中任何包中的所有测试
  • 使用相同的方法运行任何其他项目中的所有测试
我尝试过类似帖子中提到的标准方法,但似乎没有任何效果。具体而言,我尝试过:

  • 重新启动eclipse
  • 重新启动我的电脑
  • 清理和重建项目
  • 删除项目并从git重新控制,然后重新添加到eclipse
  • 将@RunWith注释添加到我的测试用例中
  • 确保我的所有测试用例都以“test”开头
  • 改用JUnit3
  • 删除所有JUnit运行配置并重新创建此运行配置
此外,我清楚地记得这个功能在不久前为这个项目工作,但不记得确切的时间。因此,我必须添加/更改/删除导致出现错误的内容


编辑@Durron597的建议: 不幸的是,这些建议都不起作用。我还尝试删除每个JUnit运行配置并再次尝试创建配置过程,但仍然没有成功

我的eclipse版本是:Luna Service Release 2(4.4.2)

我的JUnit版本是:4.11

JUnit首选项屏幕截图:


下面是一个测试的代码:

package common;

import static org.junit.Assert.*;

import java.util.ArrayList;
import java.util.HashSet;

import org.junit.Test;

public class UtilTest {

    @Test
    public void testWrappers(){
        short[] s = {1,2,3,4};
        Short[] s2 = Util.boxArr(s);
        short[] s3 = Util.unboxArr(s2);

        assertEquals(s.length, s2.length);
        assertEquals(s.length, s3.length);
        for(int i = 0; i < s.length; i++){
            assertEquals(s[i], s2[i].shortValue());
            assertEquals(s[i], s3[i]);
        }

        int[] i = {1,2,3,4, Integer.MAX_VALUE, Integer.MIN_VALUE};
        Integer[] i2 = Util.boxArr(i);
        int[] i3 = Util.unboxArr(i2);

        assertEquals(i.length, i2.length);
        assertEquals(i.length, i3.length);
        for(int x = 0; x < s.length; x++){
            assertEquals(i[x], i2[x].intValue());
            assertEquals(i[x], i3[x]);
        }

        long[] l = {1,2,3,4, Integer.MAX_VALUE, Integer.MIN_VALUE, Long.MAX_VALUE, Long.MIN_VALUE};
        Long[] l2 = Util.boxArr(l);
        long[] l3 = Util.unboxArr(l2);

        assertEquals(l.length, l2.length);
        assertEquals(l.length, l3.length);
        for(int x = 0; x < s.length; x++){
            assertEquals(l[x], l2[x].longValue());
            assertEquals(l[x], l3[x]);
        }

        float[] f = {1,2,3,4, 0.4f, 0.1f, Float.MAX_VALUE, Float.MIN_NORMAL};
        Float[] f2 = Util.boxArr(f);
        float[] f3 = Util.unboxArr(f2);

        assertEquals(f.length, f2.length);
        assertEquals(f.length, f3.length);
        for(int x = 0; x < s.length; x++){
            assertEquals(f[x], f2[x].floatValue(), 0.00001);
            assertEquals(f[x], f3[x], 0.00001);
        }


        double[] d = {1,2,3,4, 0.4, 0.1, Float.MAX_VALUE, Float.MIN_VALUE, Double.MAX_VALUE, Double.MIN_NORMAL};
        Double[] d2 = Util.boxArr(d);
        double[] d3 = Util.unboxArr(d2);

        assertEquals(d.length, d2.length);
        assertEquals(d.length, d3.length);
        for(int x = 0; x < s.length; x++){
            assertEquals(d[x], d2[x].doubleValue(), 0.00001);
            assertEquals(d[x], d3[x], 0.00001);
        }

        char[] c = {1,2,3,4, 'a', 'b', '.', Character.MAX_VALUE, Character.MIN_VALUE};
        Character[] c2 = Util.boxArr(c);
        char[] c3 = Util.unboxArr(c2);

        assertEquals(c.length, c2.length);
        assertEquals(c.length, c3.length);
        for(int x = 0; x < s.length; x++){
            assertEquals(c[x], c2[x].charValue());
            assertEquals(c[x], c3[x]);
        }
    }

    @Test
    public void testRandElement(){
        assertTrue(null==Util.randomElement(null));

        HashSet<Integer> s = new HashSet<>();
        assertTrue(null==Util.randomElement(s));

        for(int i = 0; i < 10; i++){
            s.add(i);
        }

        HashSet<Integer> s2 = new HashSet<>();
        while(! s2.equals(s)){
            Integer i = Util.randomElement(s);
            s2.add(i);
            assertTrue(s.contains(i));
        }
    }

    @Test
    public void testPermute(){
        ArrayList<Integer[]> a = Util.permute(new Integer[]{1,2,3,4});
        assertEquals(a.size(), 24);

        for(Integer[] i : a){
            assertEquals(i.length, 4);
            assertEquals(10, i[0] + i[1] + i[2] + i[3]);
        }

        HashSet<Integer[]> s = new HashSet<>(a);
        assertEquals(s.size(), 24);

        a = Util.permute(new Integer[]{});
        assertEquals(a.size(), 1);
    }

}
包通用;
导入静态org.junit.Assert.*;
导入java.util.ArrayList;
导入java.util.HashSet;
导入org.junit.Test;
公共类公用测试{
@试验
公共void testWrappers(){
短[]s={1,2,3,4};
Short[]s2=Util.boxArr(s);
short[]s3=Util.unbxarr(s2);
资产质量(s.长度,s2.长度);
资产质量(s.长度,s3.长度);
对于(int i=0;i