3

我正在尝试将 Junit 测试与 ant 一起使用。

由于我真的不知道如何在没有 Eclipse 的情况下编写 Junit 测试,所以我将从在网上找到的一些完全微不足道的东西开始。这应该总是通过。

测试1.java

import junit.framework.*;
public class Test1 extends TestCase {
  @Test
  public void testOne()
  {
    System.out.println("Heyy there I'm a test!");
    assertTrue( "TestExample", true );
  }
}   

我将这些添加到我的 build.xml 中...

49   <target name="junit" depends="jar">
50     <junit printsummary="withOutAndErr" fork="yes" showoutput="yes">
51       <classpath refid="application"/>
52       <test name="test.Test1"/>
53     </junit>
54   </target>

所以现在当我运行“ant junit”时,我得到了

junit:
    [junit] Running test.Test1
    [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec

所以......这并没有告诉我任何事情......出了什么问题?如何解决?没有。有谁知道怎么回事?

4

2 回答 2

1

我可以重现它。我期待junit提供一些更详细的信息,例如Class test.Test1 not found. 但不,它只是失败了。这意味着该类不在类路径中。打开您的 jar 文件(使用归档7zip器确认)。

毫不奇怪,因为您的类没有编译:) 添加以下内容:

package test;
import org.junit.Test;

你的第一个测试应该通过。

于 2012-10-02T05:47:12.643 回答
0

@jarekczek helped me huge by letting me know that Junit is not some external thing to be compiled separately to execute but it needs to be compiled into the jar with your other source files.

The problem was that I put my test/ directory outside of my src/ directory, and when ant compiles the java files in src/ it did not compile the file Test1.java into Test1.class

I moved the test/ folder into the src/ folder, and now I got more informative error messages from the javac compiler, and was able to fix it. Thanks so much!

于 2012-10-02T18:36:35.043 回答