2009-03-25 10 views
4

最近、eclipseでjunitを使用していて、まだ学習中です。私はeclipseでコマンドラインパラメータを渡す方法を知っていますが、それらをJunitのテストケースにどのように渡しますか?どのように私はそれらにアクセスするのですか?eclipseでJUnitコマンドラインパラメータを渡す

答えて

11

mainメソッドが実行されていないため、JUnitテストにコマンドライン引数を渡すことはできません。システムプロパティを使用し、テストケースでこれらのプロパティにアクセスする必要があります。

パッケージエクスプローラでテストクラスを選択します。右クリックしてRun As -> Open Run Dialogを選択します。実行ダイアログには、引数タブがあり、ここでプログラムとVMの引数を指定できます。ここにシステムプロパティのパラメータを入力できるはずです。

また、希望のプロジェクトを現在のプロジェクトとして使用している場合は、メインメニューからRun -> Run Configurationsを選択して[引数]タブにアクセスします。

+0

しかし、私が使用している場合、使用するアクセスするに 日食、私はテストを実行するための主要な方法は必要ありません。システムプロパティで設定せずにアクセスするにはどうすればよいですか? –

+0

JUnit4とEclipseでは、唯一の選択肢はシステムプロパティです。私はこれを反映するために私の答えを編集しました。 – Mark

+1

これは別のオプションです:http://stackoverflow.com/questions/14820175/how-to-pass-an-argument-to-a-android-junit-test/14821971#14821971 –

2

おそらくあなたはこれを理解したかもしれませんが、コンパイルされたときにANTまたはMVNを使用している場合は、PUN.XMLファイルから引数をJUNITまたはTestNGに渡すことができます。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.4.3</version> 
    <configuration> 
    <forkMode>${test.junit.forkMode}</forkMode> 
    <skip>${test.junit.skip}</skip> 
    <argLine>${test.junit.argLine}</argLine> 
    <jvm>${jdk.compiler.path}/binjava</jvm> 
    </configuration> 
</plugin> 
6

誰かが既に回答しているので、私はスキップします。

System.getProperty("propert.name.here"); 

(文字列を返します)

+0

これはコードを膨らませるだけでなく実際の質問には対応していません。 (誰がこれをどういうふうに投票したのですか?) –

+1

このコードスニペットは、@MarkがEclipse Junitの起動設定からJUnitテストに引数を渡す方法として使用することをシステムのプロパティから取得する方法を示しています。私の場合は、例えばポート番号でそれを行うことに興味があります。 – HDave

1

この例では、私は、実行コンフィギュレーションウィンドウにfirefoxDriverとして引数webDriverを渡しています:

Example

関連する問題