Jtest can collect coverage information for JUnit tests or Java applications when a run configuration is executed in Eclipse. This section describes how to enable collecting coverage for JUnit tests. For information about collecting coverage for Java applications, see Collecting Coverage for Java Applications in Eclipse.
You can collect coverage information for JUnit tests by running a dedicated Jtest configuration. Right-click a test or package in the Package Explorer and choose Jtest As> JUnit Test.
Alternatively, you can choose Run>Jtest As> JUnit Test from the IDE main menu or from the drop-down menu of the Launch [run_configuration_name] toolbar button .
The coverage information will be displayed in the Coverage view, as well as color-coded markers in the editor (see Viewing Coverage).
By default, coverage is collected and reported for the project that includes the tested class and its depending projects. The projects included in the scope are displayed in the Included Projects field in the Jtest tab.
You can narrow the coverage scope to include only the items selected in your Eclipse Package Explorer or to exclude specified classes, see Reporting Coverage for Selected Items.
In addition, you can include or exclude test classes from the scope. The Collect coverage for test classes option must be enabled to activate collecting coverage for your tests. If disabled, coverage for test classes will not be collected. This option is enabled by default.
To collect coverage data for only the items selected in the Package Explorer view of your IDE.
The Included Projects field will be disabled and coverage will be reported only for the items selected in the Package Explorer.
You can specify which classes should not be included in the coverage scope.
Examples of Exclude Patterns
If you specify exclude patterns manually, use the *
wildcard to exclude all the classes that are included directly in a given package.
examples/*
- Matches all classes directly in the examples
package (e.g. examples.Foo
). The examples.internal.Foo
class will NOT be excluded with this pattern.examples/Foo*
- Matches all classes in the examples
package whose class file names start with "Foo" (e.g. examples.FooFile
). The examples.internal.FooFile
class will NOT be excluded from the scope, as it belongs to another package.You can view coverage for the executed code with the Coverage view (see Viewing Coverage).