Maven経由で実行されるテストにシステムプロパティを渡す
Maven 2.1.0 not passing on system properties to Java virtual machine - Stack Overflow
MavenのSurefire plug-inからJUnitのテストケースを実行する際にシステムプロパティを渡す方法です。システムプロパティは以下のようなコードで取得できます。
System.getProperty("foo")
通常のJavaプログラムであれば、java.exeを実行する際の引数に以下のように指定することができます。
-Dfoo=bar
ただ、Maven経由で実行するテストケースでは、以下のようにmavenを実行しても、
mvn -Dfoo=bar test
Surefire PluginのforkModeの影響で、取得できない場合があるようです。
この場合には、pom.xmlでSystemPropertiesを追加するか、mvnの実行時に以下のような形式で引数として追加すれば取得できます。
mvn -DargLine="-Dfoo=bar" test