无法在Windows上编译JUnit测试

时间:2015-10-04 03:38:17

标签: java junit compilation

我正在尝试在我的Windows 10盒子上编译这个非常简单的JUnit测试:

import static org.junit.Assert.assertTrue;
import org.junit.Test;

public class TestHelloWorld
{
    @Test
    public void BasicTest ()
    {
        assertTrue(true);
    }
}

然而,这项看似无害的任务已经证明不会受到三到四个小时的研究和反复试验。

从Cygwin终端我看到了:

javac -cp lib/hamcrest-core-1.3.jar:/lib/junit-4.12.jar:. TestHe
TestHelloWorld.java:1: error: package org.junit does not exist
import static org.junit.Assert.assertTrue;
                       ^
TestHelloWorld.java:1: error: static import only from classes and interfaces
import static org.junit.Assert.assertTrue;
^
TestHelloWorld.java:2: error: package org.junit does not exist
import org.junit.Test;
                ^
TestHelloWorld.java:6: error: cannot find symbol
        @Test
         ^
  symbol:   class Test
  location: class TestHelloWorld
TestHelloWorld.java:9: error: cannot find symbol
                assertTrue(true);
                ^
  symbol:   method assertTrue(boolean)
  location: class TestHelloWorld
5 errors

从CMD提示我看到:

javac -cp C:\Users\canon\Documents\GitHub\cse1341\AssignmentTester\lib\junit.jar TestHelloWorld.java
error: error reading C:\Users\canon\Documents\GitHub\cse1341\AssignmentTester\lib\junit.jar; error in opening zip file
1 error

老实说,我不知道我在这里做错了什么。我之前一直在使用* nix机器,我不记得在使用-cp标志将junit和hamcrest jar传递到类路径时编译JUnit测试时遇到任何问题。任何想法或指导将非常感谢!

2 个答案:

答案 0 :(得分:0)

有两件事:

  • 使用';'的Windows中的Java在classpath参数中分隔jar文件应该如此 " javac -cp lib / hamcrest-core-1.3.jar; /lib/junit-4.12.jar;。 TestHeTestHelloWorld.java"在cygwin

  • 检查C:\ Users \ canon \ Documents \ GitHub \ cse1341 \ AssignmentTester \ lib \ junit.jar是否为有效jar。 (您可以使用zip工具进行检查)。

答案 1 :(得分:0)

lib/junit-4.12.jar之前的斜线似乎是错误的。