我正在尝试让JUnit 4测试在Eclipse Indigo SR1中正常运行,但有些事情很棘手。在我能想到的最简单的情况下(如下所示):
package ints;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class IntTest {
@Before
public void setUp() throws Exception {
System.out.println("setUp()");
}
@Test
public void test() {
System.out.println("assertEquals(1, 1);");
assertEquals(1, 1);
}
@Test
public void test2() {
System.out.println("assertEquals(1, 2);");
assertEquals(1, 2);
}
}
当我在Eclipse中运行它(Alt + Shift + X,T)时,JUnit视图报告“运行:0/0,错误:0,失败:0”,而控制台显示如下,但我不是得到别的东西。我可以从测试方法中抛出异常&它们也没有显示出来。
setUp()
assertEquals(1, 1);
setUp()
assertEquals(1, 2);
关于什么给出的任何想法?
答案 0 :(得分:2)
我认为您的系统上安装了JUnit 3和JUnit4,并且该项目导入了错误版本的JUnit。这将导致各种奇怪的问题。
在您的情况下,似乎代码根本不被视为测试,如果您使用的是JUnit3,这是有意义的。
检查构建路径以查看您正在使用的JUnit。
答案 1 :(得分:1)
我遇到了与JUnit相同的问题。我在旧的JDK上运行了更新,但问题仍然存在,所以我从我的机器中完全删除了所有JDK-s并安装了最新的jdk 6并且Eclipse Indigo神奇地开始正常工作。
可能连续更新的jdk 6未正确升级......
答案 2 :(得分:0)
检查计算机上的(本地)防火墙规则。我在一年前碰到了同样的问题,允许Eclipse / Java的本地连接解决了这个问题。 (我刚刚发现了一个关于此的说明。)
答案 3 :(得分:0)
出于某种原因卸载1.7 32位JDK解决了这个问题。它似乎没有在路上或任何我能想到的东西。感觉有点像魔术,但它有效。
我安装了4个JDK(1.6& 1.7,32位和64位)。现在我有3个。
答案 4 :(得分:0)
我遇到了同样的问题。 JUnit启动但没有工作但没有完成,也没有给出任何异常。对我来说,检查firewall iptables命令并添加run:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
JUnit需要此权限才能运行 - 允许内部接口通信。