2016-08-25 19 views
0

これは非常に一般的な問題で、私はすでに検索していましたが、何とか問題を解決できないことがわかりました。ここでコマンドラインからJunit Test caseを実行するには

は、問題のコンテキストである:私のJUnitテストケースの(Mavenのクイックスタートと使用JUnitのバージョン4.12で日食使用)Mavenプロジェクトを作成し

。続いては、構造 - enter image description here

そして、これはJUnitの[ファイル]の内容である

package JunitRnD.JunitArtifact; 

import static org.junit.Assert.*; 

import java.util.Stack; 

import org.junit.Test; 

public class AppTest { 

    @Test 
    public void emptyTest() { 
     Stack<String> stack = new Stack<String>(); 
     assertTrue(stack.isEmpty()); 
    } 
} 

プロジェクトがこの場所の下に配置されている:

/Users/_eclipseWork/JunitArtifact 

そして、これはディレクトリ - の内容です enter image description here

JunitテストはEclipseから機能します。しかし、私はコマンドラインからそれを実行したい。 は、だから私は、私もエラー -

Caused by: java.lang.ClassNotFoundException: JunitRnD/JunitArtifact/AppTest 

次のディレクトリ構造ごとに、他のバリアントを使用しますが、常に受信コマンド -

cd /Users/_eclipseWork/JunitArtifact 

java -cp .:/Users/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar org.junit.runner.JUnitCore JunitRnD/JunitArtifact/AppTest 

次使用私はここで何をしないのですか?

PS:.javaと.class拡張を入れて試してみました。

+0

Mavenのは、単一のテストを実行するには、 "コマンド" を持って、FWIW http://maven.apache.org/ – rogerdpack

+0

Mavenなしのプロセスでテストケースを実行する必要があるユースケース – Sam

+0

http://stackoverflow.com/a/3997971/2464657 – Adam

答えて

2

テストを実行するには、Mavenを実行する必要があります。

mvn -Dtest=JunitRnD.JunitArtifact.AppTest test 

または、あなたがMavenなしで実行したい場合は、テストランナーが必要です。あなたが行うことができます

https://github.com/junit-team/junit4/wiki/test-runners

を見てみましょう

java org.junit.runner.JUnitCore TestClass1 [...other test classes...] 
+0

私は-Dtest(+1)でmvnという考えが好きです。これを共有していただきありがとうございます。しかし、それでも私の問題は解決しません。コマンドラインからテストケースを実行し、Junitcoreを認識して、同じことを適用したいが、私の質問で言及したように失敗しているので。 – Sam

関連する問題