Run/Debug Configuration: JUnit
JUnit run/debug configurations define how unit tests that are based on the JUnit testing framework should be run.
The dialog box consists of the following tabs:
It also contains a set of options that are common for all run/debug configurations and a toolbar that lets you manage your configurations.
Configuration tab
Item | Description | |
---|---|---|
Test kind | From this drop-down list, select the scope for your tests and fill in the fields depending on your selection. | |
All in package | Select this option to run all unit tests in the specified package. Fill in the following fields: | |
Package | Specify package name | |
Search for tests |
Select where in your project IntelliJ IDEA shall look for test classes related to the current package:
| |
All in directory | Select this option to run all unit tests in the specified directory. Fill in the following field: | |
Directory | Specify the directory where you want to run the tests. It will act as the root directory for all relative input and output paths. | |
Pattern | Select this option to run a set of test classes. This set may include classes located in the same or different directories, packages or modules. Fill in the following fields: | |
Pattern |
Specify the required classes. Each class in this field must be represented by its fully qualified name. Class names must be separated with
|| .
You can type class names manually, or click ![]()
You can also create a suite test, i.e. a bundle of several test classes that will be run together. To create a suite test class, click
| |
Method |
Specify the method to be launched (passed to the JRE). Type method name, or click ![]() | |
Search for tests |
Select where in your project IntelliJ IDEA shall look for test classes related to the current package:
| |
Class |
Select this option to run all tests in a class.
Fill in the following field: | |
Class |
Specify the fully qualified name of the class to be launched (passed to the JRE). Type the class name or click
![]() | |
Method |
Select this option to run an individual test method.
Fill in the following fields: | |
Class |
Specify the fully qualified name of the class to be launched (passed to the JRE). Type the class name or click
![]() | |
Method |
Specify the method to be launched (passed to the JRE). Type method name, or click ![]() | |
Category |
Select this option if you only want to run test classes and test methods that are annotated either with the
category given with the @IncludeCategory annotation, or a subtype of this category.
Learn more about JUnit categories.
Fill in the following fields: | |
Category |
Specify the desired category. Type category name, or click ![]() | |
Search for tests |
Select where in your project IntelliJ IDEA shall look for test classes related to the current package:
| |
Fork mode |
This option controls how many Java VMs will be created if you want to fork some tests.
Select method or class to create a separate virtual machine for each
method or class respectively.
The available options in this drop-down list depend on the Test kind setting. | |
Repeat | If you want to repeatedly run a test, select the threshold from this drop-down list. You can select to run your test once, n times (in this case specify the number of times in the field on the right), until the test fails, or until it is stopped. | |
VM options |
If necessary, specify the string to be passed to the VM. This string may contain the options such as
-mx , -verbose , etc.
When specifying the options, follow these rules:
If there is not enough space, you can click
The | |
Program arguments |
In this field, type a list of arguments to be passed to the program in the format you would use in the command line.
If necessary, click the ![]() Use the same rules as for specifying the VM options. | |
Working directory |
Specify the directory that will act as the current directory when running the test. It will act as the root directory
for all relative input and output paths. By default, the directory where the project file resides, is used as a working directory.
Type directory name, or click | |
Environment variables |
Click ![]() | |
Use classpath of module | Select the module whose classpath should be used to run the tests. | |
JRE |
Specify the JRE to be used.
Select the JRE from the list, or click ![]() |
Code Coverage tab
Use this tab to configure code coverage monitoring options.
Item | Description |
---|---|
Choose code coverage runner |
Select the desired code coverage runner.
By default, IntelliJ IDEA uses its own coverage engine with the Sampling mode. You can also choose JaCoCo or Emma for calculating coverage. |
Sampling | Select this option to measure code coverage with minimal slow-down. |
Tracing | Select this option to collect accurate branch coverage. This mode is available for the IntelliJ IDEA code coverage runner only. |
Track per test coverage | Select this check box to detect lines covered by one test and all tests covering line. If this check box
is selected, ![]() Refer to the section Viewing Code Coverage Results. |
Merge data with previous results | When you run your unit testing or application configuration several times, use this item to calculate statistics in the Project View, taking into account the statistics of each time you have run the configuration. |
Packages and classes to record code coverage data | Click ![]() ![]() ![]() |
Enable coverage in test folders. | If this check box is selected, the folders marked as test ![]() |
Logs tab
Use this tab to specify which log files generated while running or debugging should be displayed in the console, that is, on the dedicated tabs of the Run or Debug tool window.
Item | Description |
---|---|
Is Active | Select check boxes in this column to have the log entries displayed in the corresponding tabs in the Run tool window or Debug tool window. |
Log File Entry | The read-only fields in this column list the log files to show. The list can contain:
|
Skip Content | Select this check box to have the previous content of the selected log skipped. |
Save console output to file | Select this check box to save the console output to the specified location. Type the path manually, or click the browse button and point to the desired location in the dialog that opens. |
Show console when a message is printed to standard output stream | Select this check box to activate the output console and bring it forward if an associated process writes to Standard.out. |
Show console when a message is printed to standard error stream | Select this check box to activate the output console and bring it forward if an associated process writes to Standard.err. |
![]() | Click this button to open the Edit Log Files Aliases dialog where you can select a new log entry and specify an alias for it. |
![]() | Click this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog. |
![]() | Click this button to remove the selected log entry from the list. |
![]() | Click this button to edit the select log file entry. The button is available only when an entry is selected. |
Toolbar
Item | Shortcut | Description |
---|---|---|
![]() | Alt+Insert | Click this button to add a new configuration to the list. |
![]() | Alt+Delete | Click this button to remove the selected configuration from the list. |
![]() | Ctrl+D | Click this button to create a copy of the selected configuration. |
![]() | Edit defaults | Click this button to edit the default configuration templates. The defaults are used for newly created configurations. |
![]() ![]() | Alt+Up or Alt+Down | Use these buttons to move the selected configuration or folder up and down in the list.
The order of configurations or folders in the list defines the order in which configurations appear in the Run/Debug drop-down list on the main toolbar. |
![]() | Move into new folder / Create new folder | Use this button to create a new folder.
If one or more run/debug configurations are in focus, the selected run/debug configurations are automatically moved to the newly created folder. If only a category is in focus, an empty folder is created. Move run/debug configurations to a folder using drag-and-drop, or the |
![]() | Sort configurations | Click this button to sort configurations in alphabetical order. |
Common options
Item | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | In this text box, specify the name of the current run/debug configuration. This field does not appear for the default run/debug configurations. | ||||||||||||||||||||||||
Defaults | This node in the left-hand pane of the dialog box contains the default run/debug configuration settings. Select the desired configuration to change its default settings in the right-hand pane. The defaults are applied to all newly created run/debug configurations. | ||||||||||||||||||||||||
Share |
Select this check box to make the run/debug configuration available to other team members.
If the directory-based project format is used,
the settings for a run/debug configuration are stored in a separate .xml file in the
If the file-based format is used,
the settings are stored in the This check box is not available when editing the run/debug configuration defaults. | ||||||||||||||||||||||||
Single instance only | If this check box is selected, this run/debug configuration cannot be launched more than once.
Every time a new run/debug configuration is launched, IntelliJ IDEA checks the presence of the other instances of the same run/debug configuration, and displays a confirmation dialog box. If you click OK in the confirmation dialog box, the first instance of the runner will be stopped, and the next one will take its place. This makes sense when the usage of certain resources can cause conflicts, or when launching two run/debug configurations of the same type consumes too much of the CPU and memory resources. If this check box is not selected, it is possible to launch as many instances of the runner as required. So doing, each runner will start in its own tab of the Run tool window. | ||||||||||||||||||||||||
Before launch | Specify which tasks must be performed before applying the run/debug configuration.
The specified tasks are performed in the order they appear in the list.
|