Msh*_*nik 5 java eclipse junit scala
编辑3
我安装了新版本的eclipse(Mars - 4.5.0),一切正常.但是,当我通过Eclipse Marketplace重新安装Scala时,问题再次出现.那么也许它是scala插件的东西?
编辑2
我正在玩它更多,发现如果我删除某些包,功能返回.具体来说,如果我删除包functional and io,则运行整个项目的测试的能力将返回.重命名包没有帮助,只删除它们.此外,如果我在这些包中添加JUnit测试,我仍然无法通过运行整个包通过包浏览器运行该测试.
我在Eclipse中遇到了一个特定Java项目的问题.当我尝试从项目资源管理器(通过[right click on project folder] --> run as --> JUnit Test)运行所有JUnit测试时,我收到许多人似乎看到的错误消息:
问题启动JUnit测试:测试运行'JUnit 4'没有找到测试
单击消息上的"确定"将显示"运行配置"对话框.
奇怪的是,在整个项目范围内,该项目似乎非常孤立.我可以毫无困难地做到以下几点:
我已经尝试过类似帖子中提到的标准内容,似乎没什么用.具体来说,我试过了:
另外,我清楚地记得这个功能在不久前用于这个项目,但是不记得确切的时间.所以我必须添加/更改/删除导致错误出现的内容.
编辑@ Durron597的建议: 不幸的是,没有任何建议有效.我还尝试删除每个JUnit运行配置并再次尝试创建配置过程,仍然没有运气.
我的eclipse版本是:Luna Service Release 2(4.4.2)
我的JUnit版本是:4.11
这是一个测试的代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
整个项目在https://github.com/Mshnik/UsefulThings,如果这也有帮助.
尝试查看此线程中的建议。这不是完全相同的错误,但它是相似的:没有使用测试运行程序“JUnit 4”找到测试
我假设问题是您没有“运行所有测试”的正确运行配置。如果您最近清理了旧的和过时的运行配置,并在没有意识到的情况下删除了适当的配置,则这可能会被破坏。让我们按照以下步骤创建一个:
AllTests)Run all tests in the selected project, package or source folder:单选按钮Test runner设置为 JUnit 4单击“应用”,然后单击“运行”。这应该恢复损坏的方法。
如果这些步骤不起作用,请尝试以下操作(按顺序尝试每一项,如果没有解决问题,则转到下一项) - 这个想法是,也许您确实有一个配置,但它已损坏。
现在应该已修复。如果不是,请编辑您的问题以包含您的 JUnit 版本和 Eclipse 版本。
| 归档时间: |
|
| 查看次数: |
1814 次 |
| 最近记录: |