3

ant で Junit テストを使用しようとしています。

Eclipse を使用せずに Junit テストを作成する方法がよくわからないので、オンラインで見つけた非常に些細なことから始めます。これは常にパスする必要があります。

Test1.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 は、Junit は実行のために個別にコンパイルする外部のものではなく、他のソース ファイルと一緒に jar にコンパイルする必要があることを知らせてくれて、私を大いに助けてくれました。

問題は、test/ ディレクトリを src/ ディレクトリの外に配置したことでした。ant が src/ の Java ファイルをコンパイルすると、ファイル Test1.java が Test1.class にコンパイルされませんでした。

test/ フォルダーを src/ フォルダーに移動したところ、javac コンパイラーからより詳細なエラー メッセージが表示され、修正することができました。本当にありがとう!

于 2012-10-02T18:36:35.043 に答える