*vim-java-junit* JUnit ***** *:JUnitExecute* *:JUnitResult* Executing test cases and viewing the results. ============================================= When editing java source files eclim exposes a couple commands which allow you to easily execute junit test cases and view the results. First, please note that eclim does not attempt to provide a junit execution environment. Instead the goal is to allow you to easily interface with your favorite build tool (ant, maven, etc.). The first of the commands is :JUnitExecute. This command is responsible for executing the current test case or the test case supplied as an argument. The second command is :JUnitResult. This command is responsible for locating and opening the result file for the current test case or the test case supplied as an argument. Note: Both commands support command completion of their respective arguments as long as the settings defined below are defined properly. Configuration ============= Eclim Settings *org.eclim.java.junit.src_dir* - org.eclim.java.junit.src_dir - Defines the location of the junit test case source files. Currently this is only utilized for command completion of test case names for :JUnitExecute. Supports "" key to represent the root directory of the current project. Ex. > org.eclim.java.junit.src_dir=/src/test/junit < *org.eclim.java.junit.output_dir* - org.eclim.java.junit.output_dir - Defines the location of the junit test case results. Supports "" key to represent the root directory of the current project. Ex. > org.eclim.java.junit.output_dir=/build/test/results < *org.eclim.java.junit.command* - org.eclim.java.junit.command - Defines the command used to execute a test case. Supports the following keys: - : key representing the requested test case to execute using path separators. Ex. org/test/SomeTest Useful for use with ant and maven 2.x. - : key representing the fully qualified class name of the requested test case to execute. Ex. org.test.SomeTest Useful for use with maven 1.x. Ex. > # Ant, assuming you have a target 'test' supporting # property 'junit.include'. org.eclim.java.junit.command=Ant -Djunit.include= test # Maven 2.x using built in surefire plugin. org.eclim.java.junit.command=Mvn -Dtest= test # Maven 1.x using built in test plugin. org.eclim.java.junit.command=Maven -Dtestcase= test:single < *:JUnitImpl* Generating test method stubs. ============================= While editing junit files, eclim provides functionality to generate test method stubs similar to the method override / impl (|vim-java-impl|) functionality provided for non-test-case classes. The only difference is that instead of :JavaImpl, you use :JUnitImpl to open the window of possible methods to implement. To determine what class the current test case is for, eclim expects that the standard naming convention for test cases is followed, where the test case has the same fully qualified class name as the target class with a 'Test' suffix. For a class org.foo.bar.Baz, the exepected test case would be named org.foo.bar.BazTest. So when invoking :JUnitImpl from within org.foo.bar.BazTest, eclim would look for the class org.foo.bar.Baz and generate a list of methods to test from it. When you hit on the method to add, if that method belongs to a type in the hierarchy for the class being tested, then the corresponding test method stub will be inserted, otherwise a regular overriding stub will be generated. Note: The insertion of methods is done externally with Eclipse and with that comes a couple caveats (|vim-issues|). Note: The junit.jar file must be in your project's classpath for eclim to display possible methods to override in the junit test-case hierarchy. Configuration ============= Eclim Settings *org.eclim.java.junit.version* - org.eclim.java.junit.version (Default: 4) - Specifies the primary junit version being used, which determines which junit test method template will be used to generated the test method stubs. vim:ft=eclimhelp