How to pass the -D System properties while testing on Eclipse?
I am developing on Eclipse on Windows and Code gets deployed on Unix. I am fetching the system property values using System.getProperty("key") ... How do I pass this in Eclipse so that I do not have to modify the code and it works on Eclipse for debugging?
Any suggestions?
Solution 1:
Run -> Run configurations, select project, second tab: “Arguments”. Top box is for your program, bottom box is for VM arguments, e.g. -Dkey=value
.
Solution 2:
You can use java System.properties
, for using them from eclipse you could:
- Add
-Dlabel="label_value"
in the VM arguments of the testRun Configuration
like this:
-
Then run the test:
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")); } }
-
Finally it should pass the test and output this in the console:
label_value
Solution 3:
You can add command line arguments to your run configuration. Just edit the run configuration and add -Dmyprop=value (or whatever) to the VM Arguments Box.
Solution 4:
This will work for junit. for TestNG use following command
-ea -Dmykey="value" -Dmykey2="value2"