I have recently been using junit in eclipse and I am still learning. I know how to pass command line parameters in eclipse, but how do I pass them to a test case in Junit?
Probably you have figured this out, but when compiled and if using ANT or MVN, you can pass arguments to your JUNIT or TestNG from inside the POM.XML file.
<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>
I will skip passing as somebody has already replied with that. To access you use:
System.getProperty("propert.name.here");
(returns String)
In this example I am passing an argument webDriver
as firefoxDriver
in the run configuration window:
You cannot pass command line arguments to the JUnit test because no main method is run. You will need to use system properties and access these in your test case.
Select your test class in the Package Explorer. Right click and select Run As -> Open Run Dialog
In the run dialog there is an Arguments tab where you can specify program and VM arguments. You should be able to enter your system property parameters here.
Alternatively, with the desired project as your current one, from the main menu select Run -> Run Configurations
to access the Arguments tab.