IntelliJ IDEA 2016.2 Help

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

ItemDescription
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:
  • In whole project: IntelliJ IDEA will look for test classes in all project modules
  • In single module: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field
  • Across multiple dependencies: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field, and in the modules that depend on it
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 add on the right (or press Shift+Enter) and search for classes you want to add in the dialog that opens.

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 edit_scopes_icon on the right and type the test classes you want to be run as a suite in the Configure suit tests dialog that opens. As a result, a new class will be created with the @Suite annotation.

Method Specify the method to be launched (passed to the JRE). Type method name, or click browseButton and select the desired method in the dialog that opens.
Search for tests Select where in your project IntelliJ IDEA shall look for test classes related to the current package:
  • In whole project: IntelliJ IDEA will look for test classes in all project modules
  • In single module: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field
  • Across multiple dependencies: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field, and in the modules that depend on it
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 browseButton and select the desired class in the dialog that opens.
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 browseButton and select the desired class in the dialog that opens.
Method Specify the method to be launched (passed to the JRE). Type method name, or click browseButton and select the desired method in the dialog that opens.
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 browseButton and select the desired category in the dialog that opens.
Search for tests Select where in your project IntelliJ IDEA shall look for test classes related to the current package:
  • In whole project: IntelliJ IDEA will look for test classes in all project modules
  • In single module: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field
  • Across multiple dependencies: IntelliJ IDEA will look for test classes only in the module selected in the Use classpath of module field, and in the modules that depend on it
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:

  • 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\".

If there is not enough space, you can click edit_scopes_icon and enter the string in the dialog that opens.

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

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 edit_scopes_icon button and type the required arguments in the dialog that opens.

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 browseButton and select the desired directory in the dialog that opens. You can also click icon_switch_directories to switch between directories.

Environment variables Click browseButton to open the Environment Variables dialog box where you can create variables and specify their values.
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 browseButton and select the installation folder of the required JRE in the dialog that opens.

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.

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.
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.
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 a message is printed to standard output streamSelect 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 streamSelect this check box to activate the output console and bring it forward if an 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.
edit1 Click this button to edit the properties of the selected log file entry in the Edit Log Files Aliases dialog.
delete Click 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 Alt+Insert Click this button to add a new configuration to the list.
delete Alt+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 newly created configurations.
arrowUp or arrowDown 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.

folder 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 arrowUp arrowDown buttons.

sortAlphabetically Sort configurations Click this button to sort configurations in alphabetical order.

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.
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, or 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 otherwise.

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 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 launchSpecify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list.
ItemKeyboard shortcutDescription
add Alt+Insert Click this icon to add a task to the list. Select the task to be added:
  • Run External tool. Select this option to run an application which is external to IntelliJ IDEA. In the dialog that opens, select the application or applications that should be run. If the necessary application is not defined in IntelliJ IDEA yet, add its definition. For more information, see Configuring Third-Party Tools and External Tools.
  • Make. Select this option to have the project or module compiled. The Make Module command will be carried out if a particular module is specified in the run/debug configuration, and the Make Project command otherwise.

    If an error occurs during the compilation, IntelliJ IDEA won't attempt to start the run/debug configuration.

  • Make, no error check. The same as the Make option but IntelliJ IDEA will try to start the run/debug configuration irrespective of the compilation result.
  • Build Artifacts. Select this option to have an artifact or artifacts built. In the dialog that opens, select the artifact or artifacts that should be built.

    See also, Working with Artifacts.

  • Run Another Configuration. Select this option to have another run/debug configuration executed. In the dialog that opens, select the configuration to run.

    This option is available only if you have already at least one run/debug configuration in the current project.

  • Run Ant target. Select this option to have an Ant target run. In the dialog that opens, select the target to be run. For more information, see Ant.
  • Run Grunt task. Select this option to run a Grunt task. In the Grunt task dialog box that opens, specify the Gruntfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Grunt tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the grunt-cli package.

  • Run Gulp task. Select this option to run a Grunt task. In the Gulp task dialog box that opens, specify the Gulpfile.js where the required task is defined, select the task to execute, and specify the arguments to pass to the Gulp tool.

    Specify the location of the Node.js interpreter, the parameters to pass to it, and the path to the gulp package.

  • Run npm Script. Select this check box to execute an npm script. In the NPM Script dialog box that opens, specify the package.json file where the required script is defined, select the script to execute, choose the command to apply to it, and specify the arguments to execute the script with.

    Specify the location of the Node.js interpreter and the parameters to pass to it.

  • Compile TypeScript. Select this option to run the built-in TypeScript compiler and thus make sure that all the changes you made to your TypeScript code are reflected in the generated JavaScript files. In the TypeScript Compile Settings dialog that opens, select or clear the Check errors check box to configure the behaviour of the compiler in case any errors are detected:
    • If the Check errors check box is selected, the compiler will show all the errors and the run configuration will not start.
    • If the Check errors check box is cleared, the compiler will show all the detected errors but the run configuration still will be launched.
  • Generate CoffeeScript Source Maps. Select this option to have the source maps for your CoffeeScript sources generated. In the dialog that opens, specify where your CoffeeScript source files are located. For more information, see CoffeeScript Support.
  • Run Maven Goal. Select this option to have a Maven goal run. In the dialog that opens, select the goal to be run.

    For more information, see Maven.

  • Run Remote External tool: Add a remote SSH external tool. Refer to the section Remote SSH External Tools for details.
delete Alt+Delete Click this icon to remove the selected task from the list.
edit1 Enter Click this icon to edit the selected task. Make the necessary changes in the dialog that opens.
arrowUp Alt+Up Click this icon to move the selected task one line up in the list.
arrowDown Alt+Down Click this icon to move the selected task one line down in the list.
Show this page Select this check box to have the run/debug configuration settings shown prior to actually starting the run/debug configuration.
Active tool windowSelect this option if you want the Run/Debug tool windows to be activated automatically when you run/debug your application. This option is enabled by default.

See Also

Reference:

Language and Framework-Specific Guidelines:

Last modified: 8 August 2016