Eclipseでのテスト中に-Dシステムプロパティを渡す方法は?


93

私はWindowsのEclipseで開発しており、コードはUnixにデプロイされます。System.getProperty( "key")を使用してシステムプロパティ値をフェッチしています...コードを変更する必要がなく、EclipseでデバッグするためにこれをEclipseに渡すにはどうすればよいですか?

助言がありますか?

回答:


133

実行->実行構成、プロジェクト、2番目のタブ「引数」を選択します。上のボックスはプログラム用、下のボックスはVM引数用-Dkey=valueです。


1
あなたがAndroidアプリケーションを実行しようとしている場合、これはどこですか?
user678392 2013

なぜ接頭辞として「D」を使用する必要があるのですか?
Manticore、2014年

28
あなたは私のように厚いようであれば- -D引数はに行く VM引数のボックスないあなたのプログラムの引数のためのトップボックスに。/ sigh
ruffin 2014年

2
一番上のボックスはString[] argsmainメソッドに渡されるものです。
jaco0646 2015

7
これをデフォルトで実行するように設定する方法はあるので、多くのテストでこれを手動で繰り返し入力する必要はありませんか?
Stewart

44

あなたはあなたができるSystem.propertiesEclipseからそれらを使用するために、あなたはjava を使うことができます:

  1. 次のように-Dlabel="label_value"テストのVM引数を追加しますRun Configuration

eclipse_vm_config

  1. 次に、テストを実行します。

    import org.junit.Test;
    import static org.junit.Assert.assertEquals;
    
    public class Main {
        @Test
        public void test(){
            System.out.println(System.getProperty("label"));
            assertEquals("label_value", System.getProperty("label"));
        }
    }
  2. 最後に、テストに合格し、これをコンソールに出力します。

    label_value

13

コマンドライン引数を実行構成に追加できます。実行構成を編集して、-Dmyprop = value(またはその他)をVM引数ボックスに追加するだけです。


4
引数タブで「コマンドライン引数ボックス」と言ったときに「プログラム引数ボックス」を意味した場合-機能しません!上記のBombeで言及されているように、「VM引数ボックス」に入力する必要があります。
デバンカンダール2009年

4

実行構成->引数-> vm引数

(デバッグ構成->引数-> VM引数の下のデバッグ構成に配置することもできます)



0

はいこれは方法です:

プログラムを右クリックして、実行->実行構成を選択し、次にvm引数を選択します。

-Denv=EnvironmentName -Dcucumber.options="--tags @ifThereisAnyTag"

その後、適用して閉じることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.