JUnit run/debug configurations define how the unit tests that conform to the JUnit testing framework should be run.

The dialog box consists of the following tabs:

Click here for the description of the options that are common for all run/debug configurations.

ItemDescription
NameSpecify the name of the run/debug configuration.

Configuration tab

Item Description
All in package Select this option to run all unit tests in a certain package.

Specify the package in the Package field. To do that, type the package name or click browseButton.png and select the required package in the Choose Package dialog.

Specify where in your project IntelliJ IDEA should look for the test classes related to the current package:

  • In whole project: IntelliJ IDEA will look for the test classes of the current package in all project modules.
  • In single module: IntelliJ IDEA will look for the test classes of the current package only in the module selected in the Use classpath or JDK of module field.
  • Across module dependencies: IntelliJ IDEA will look for the test classes of the current package only in the module selected in the Use classpath or JDK of module field and the modules that depend on that module.
Class Select this option to run all tests in a class.

Specify the fully qualified name of the class to be launched (passed to the JRE) in the Class field. To do that, type the class name or click browseButton.png and select the desired class in the Choose Test Class dialog. When doing so, you can search for the desired class by name, or search through the project.

Method Select this option to run an individual test method.

Specify the fully qualified name of the class to be launched (passed to the JRE) in the Class field. To do that, type the class name or click browseButton.png and select the desired class in the Choose Test Class dialog. When doing so, you can search for the desired class by name, or search through the project.

Specify the method to be launched (passed to the JRE) in the Method field. To do that, type the method name or click browseButton.png and select the desired method in the Choose Test Method dialog.

Pattern Select this option to run a set of test classes. This set may include the classes located in the same or different directories, packages or modules.

Specify the necessary classes in the Pattern field. Each class in this field should be represented by its fully qualified name. The class names should be separated with ||.

You can type the class names in the Pattern field, or you can use add.png to the right of the field (Shift+Enter) to add classes to the set.

When you click add.png, the Choose Test Class dialog is displayed. In this dialog, you can search for the class to be added by name, or search through the project.

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:

  • Use spaces to separate individual options, for example, -client -ea -Xmx1024m.
  • If an option includes spaces, enclose the spaces or the argument that contains the spaces in double quotes, for example, some" "arg or "some arg".
  • If an option includes double quotes (e.g. as part of the argument), escape the double quotes by means of the backslashes, for example, -Dmy.prop=\"quoted_value\".

The -classpath option specified in this field overrides the classpath of the module.

Test runner parametersIf necessary, specify the list of arguments to be passed to the test runner. This list is specified in the same way as if you were entering these parameters in the command line.

Use the same rules as for specifying the VM options.

Working directory Specify the directory which will act as the current directory when running the test. This will be 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.

You can use Ctrl+Space to let IntelliJ IDEA help you fill in this and other fields. (In the editor, Ctrl+Space is used for code completion.)

Use classpath and JDK of the module Select the necessary module from the list of your project modules.

When executing the run/debug configuration, the classpath and JDK of the selected module will be used.

Use alternative JRE Select this option to use a JRE other than the one associated with the project or module.

Select the necessary JRE from the list or click browseButton.png and select the JRE directory in the Choose Path dialog.

Code Coverage tab

Use this tab to configure code coverage monitoring options.

ItemDescription
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.

SamplingSelect this option to measure code coverage with minimal slow-down.
TracingSelect this option to collect accurate branch coverage. This mode is available for the IntelliJ IDEA code coverage runner only.
Track per test coverageSelect this check box to detect lines covered by one test and all tests covering line. If this check box is selected, junitIcon becomes available on the toolbar of the coverage statistic pop-up window.

This option is only available for the Tracing mode of code coverage measurement for the testing run/debug configurations.

Refer to the section Viewing Code Coverage Results.

Merge data with previous resultsWhen 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.

Finally, the line is considered covered if it is covered at least once.

Packages and classes to record code coverage dataClick add-class and add-package buttons to specify classes and packages to be measured. You can also remove classes and packages from the list by selecting them in the list and clicking the delete button.
add Click this button to define the scope of code coverage analysis. In the Add Pattern dialog box that opens, type the comma-delimited list of Ruby regular expressions, and specify whether the matching files should be included into or excluded from code coverage analysis.

The patterns defining files to be included into code coverage analysis, are marked with +; the ones to be excluded are marked with -.

Each pattern can be enabled or disabled. To do that, select or clear the check box next to a pattern. By default, all newly created patterns are enabled.

deleteClick this button to delete the selected pattern from the list.
edit1Click this button to change the selected code coverage pattern.
Do not use the optimized C runtimeSelect this check box to enable the option --no-rcovrt. Use this option with discretion, since it significantly slows down performance.
Enable coverage in test folders.If this check box is selected, the folders marked as test rootTest are included in the code coverage analysis.

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.

ItemDescription
Is ActiveSelect 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 EntryThe read-only fields in this column list the log files to show. The list can contain:
  • Full paths to specific files.
  • Ant patterns that define the range of files to be displayed.
  • Aliases to substitute for full paths or patterns. These aliases are also displayed in the headers of the tabs where the corresponding log files are shown.

    If a log entry pattern defines more than one file, the tab header shows the name of the file instead of the log entry alias.

Skip ContentSelect this check box to have the previous content of the selected log skipped.
Save console output to fileSelect 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 standard out changesSelect this check box to activate output console and bring it forward, if associated process writes to Standard.out.
Show console when standard error changesSelect this check box to activate output console and bring it forward, if associated process writes to Standard.err.
add 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.
edit1Click this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog.
deleteClick this button to remove the selected log entry from the list.
browseButton.png Click this button to edit the select log file entry.

The button is available only when an entry is selected.

Toolbar

ItemShortcutDescription
add Insert Click this button to add new configuration to the list.
delete Delete Click this button to remove the selected configuration from the list.
copy Ctrl+D Click this button to create a copy of the selected configuration.
settings Edit defaultsClick this button to edit the default configuration templates. The defaults are used for the newly created configurations.
arrowUp or arrowDown Alt+Up or Alt+Down Use these buttons to move the selected configuration or group of configurations (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.

folder Use this button to create a new folder.

If one or more run/debug configurations have the focus, then the selected run/debug configurations 0 are automatically moved to the newly created folder. If only a category has the focus, then an empty folder is created.

Common options

ItemDescription
NameIn 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.
Temporary configurations limit Specify here the maximum number of temporary configurations to be stored and shown in the Select Run/Debug Configuration drop-down list.
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 .idea\runConfigurations folder if the run/debug configuration is shared and in the .idea\workspace.xml file otherwise.

If the file-based format is used, the settings are stored in the .ipr file for shared configurations or in the .iws file for the ones that are not shared.

This check box is not available when editing the run/debug configuration defaults.

Single instance onlyIf 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 make sense, when 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 launchIn this area, specify the actions to be performed prior to executing the current run/debug configuration.
ItemKeyboard shortcutDescription
addAlt+Insert Click this button to add one of the tasks to be executed prior to launching the application. The possible tasks are:
  • Run External tool: Add this task to have IntelliJ IDEA launch the specified third-party tool prior to running or debugging. To appoint a tool to launch, select it in the External Tools dialog box that opens.
  • Make: Add this task to compile the project automatically, prior to running or debugging. This option helps you ensure that all changes are included and compiled. If there are no changes, the program will just run.
  • Build Artifacts: Add this task to build the specified artifacts prior to running or debugging. To define the artifacts to be built, click the Browse button browse and select the desired artifact from the list of artifacts configured for the current module. To learn more about configuring artifacts, refer to Artifacts section.
  • Run Another Configuration: Add this task to choose one of the already defined temporary or permanent run/debug configurations.
  • Run Ant target:Add this task to build the specified Ant target prior to running or debugging. To define an Ant target, click Browse button browse and select the desired target from the list of existing targets. To learn more about Ant support, refer to Ant Support section.
  • Run Maven goal: Add this task to execute the specified Maven goal prior to running or debugging. To define a Maven goal to be executed, click Browse button browse and select the desired goal from the list. To learn more about Maven support, refer to Maven Support section.
deleteAlt+Delete Click this button to remove selected task from the list.
edit1Enter Click this button to open the selected task for editing.
arrowUp or arrowDownAlt+Up or Alt+Down Click these buttons to move the selected task one line up or down.

Note that Before launch actions are performed in the order they are specified in the run/debug configuration dialog.

Show this pageSelect this check box to always show the Edit Run/Debug Configuration dialog prior to launching the current run/debug configuration.
If this check box is not selected, run/debug configuration will be launched silently.

See Also

Concepts:

Procedures:

Language and Framework-Specific Guidelines:

Reference:

Web Resources: