2016-09-30 12 views
0

junitテストファイルと.javaファイルとその.classファイル、junit-4.10.jarとhamcrest-core-1.3.jarが同じフォルダにあります。私は、次の操作を行って、それを構築しようとしています:コマンドラインでjunitテストファイルをビルドして実行する際の問題

javac ErrorTest*.java

私はを/ usr/share/javaのフォルダにJUnitのファイルを使用しようとすると、私はその後

error: package org.junit does not exist

を言って、エラーの多くを得ます

javac: invalid flag: /usr/share/java/ant-antlr-1.9.6.jar Usage: javac use -help for a list of possible options

0:私は次のエラーを取得する

javac -cp /usr/share/java/* ErrorTest*.java

:このコマンドを使用して

これらのErrorTest.java junitファイルをビルドして実行するにはどうすればよいですか?

編集:わかりました。私はそれを理解しましたが、理由はわかりません。

以下は私にエラーを与える:

javac -classpath /path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

以下はの.class希望のファイルを生成します。

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

誰もが理由を説明でした ":" 作品?本当にありがとう。

あなたは、コマンドの下

java -cp /usr/java/lib/junit.jar junit.textui.TestRunner [test class name] 

を使用する必要があるコマンドプロンプトからJUnitの3.xのテストケースを実行するためのコマンドの下に

java -cp C:\lib\junit.jar org.junit.runner.JUnitCore [test class name] 

を使用する必要があり、コマンドプロンプトからJUnitの4.xのテストケースを実行するための

+0

-cp/usr/share/java/*を使用してクラスパスにjunit.jarを含めるか、junit.jarを作業ディレクトリにコピーすると、dependency jar –

+0

が見つからないようですが、まだエラーが表示されます。ジュニットは存在しません。なぜjunit.jarが見つからないのか分かりません... –

+0

IDEを使用していますか?テキストエディタとコマンドラインを使用する –

答えて

2

そのbecasue、JavaのCLASSPATHは"."で示されるカレントディレクトリを指す、それは、現在のディレクトリ内のクラスを探します。

CLASSPATH変数に複数のディレクトリが定義されている場合、Javaは最初のディレクトリからクラスを探し、最初のディレクトリで指定されたクラスが見つからなかった場合にのみ2番目のディレクトリを探します。複数のディレクトリは、あなたがそうあなたがクラスパスに複数のディレクトリを設定している、このコマンドを使用して

javac -classpath .:/path/to/graph/*:/path/to/graph/lib/* ErrorTest*.java 

のようにクラスパスを設定している":"

の助けを借りて、クラスパスに追加されます。

CLASSPATH変数にリストされている順序でJVM検索ディレクトリ。あなたのケースでは

あなたは第二の経路でクラスパスJVM検索でカレントディレクトリを提供していないし、第3が、必要なクラスが存在しないので、もしいくつかのクラスは、現在のディレクトリに存在しているようで、それは

に動作していないように思えます
0

サンプルプログラム

**TestCaseA.java** 
package test; 

import org.junit.Test; 
import org.junit.After; 
import org.junit.Before; 


    public class TestCaseA 
    { 
     @Before 
     public void beforeMethod() 
     { 
      System.out.println("Before method.."); 
     } 

     @Test 
     public void JUnit4Test() 
     { 
      System.out.println("In test method"); 
     } 

     @After 
     public void afterMethod() 
     { 
      System.out.println("after method"); 
     } 
    } 

コマンドプロンプトからの実行

java -cp junit-4.10.jar;test\TestCaseA.class; org.junit.runner.JUnitCore test.TestCaseA 

enter image description here

+0

ありがとうございます。しかし、私の問題は.javaファイルをビルドする方法でした。 –

+0

私は内容と説明を追加するために質問を更新しました。 –

関連する問題