Run/Debug Configuration: JUnit
JUnit run/debug configurations define how unit tests that are based on the JUnit testing framework should be run.
Configuration tab
Item | Description | |
---|---|---|
Test kind | From this 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 using regular expressions. Each class in this field must be represented by its fully qualified name. Class names must be separated with For example, if you want to exclude all integration tests that have You can also create a suite test, that is, a bundle of several test classes that will be run together. To create a suite test class, click 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 | |
Method | Specify the method to be launched (passed to the JRE). Type method name, or click 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:
| |
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 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 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 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 Fill in the following fields: | |
Category | Specify the desired category. Type category name, or click 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:
| |
UniqueId | Select this option to include tests and containers with a specific ID in the testing scope. | |
Tags (JUnit 5) | Select this option to include classes and methods tagged with the Tag expressions are boolean expressions with the following allowed operators: | |
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 list depend on the Test kind setting. | |
Repeat | If you want to repeatedly run a test, select the threshold from this 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 When specifying JVM options, follow these rules:
If there is not enough space, you can click and enter the string in the dialog that opens. 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 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 and select the desired directory in the dialog that opens. | |
Environment variables | Click to open the Environment Variables dialog where you can create variables and specify their values. | |
Redirect input from | Enables redirecting data from a text file to standard input. Use this option if your script requires some input and you want to automatically submit the values instead of typing them in the Run console. To enable redirecting, select the checkbox and specify the path to the target text file. | |
Use classpath of module | Select the module whose classpath should be used to run the tests. | |
Use module path | This checkbox is available for projects with JPMS modules (Java 9 and later). It allows you to select how to run your tests: on a class or on a module path. | |
JRE | Specify the JRE to be used. Select the JRE from the list, or click and select the installation folder of the required JRE in the dialog that opens. | |
Shorten command line | Select a method that will be used to shorten the command line if the classpath gets too long, or you have many VM arguments that exceed your OS command line length limitation. The choice of option depends on the class loader implementation. Note that some frameworks do not support JAR manifest, while other frameworks with custom class loaders will not work well with the classpath.file option.
|
Code Coverage tab
Use this tab to configure code coverage monitoring options.
Item | Description |
---|---|
Choose 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 checkbox to detect lines covered by one test and all tests covering line. If this checkbox is selected, becomes available on the toolbar of the coverage statistic popup. Refer to the section Set coverage in run configurations. |
Packages and classes to record code coverage data | Click and select Add Class or Add Package 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 button. |
Enable coverage in test folders. | If this checkbox is selected, the folders marked as test 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.
Item | Description |
---|---|
Is Active | Select checkboxes 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 checkbox to have the previous content of the selected log skipped. |
Save console output to file | Select this checkbox 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 checkbox 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 checkbox 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. |
Common settings
When you edit a run configuration (but not a run configuration template), you can specify the following options:
Name | Specify a name for the run/debug configuration to quickly identify it when editing or running the configuration, for example, from the Run popup Alt+Shift+F10. |
Allow parallel run | Select to allow running multiple instances of this run configuration in parallel. By default, it is disabled, and when you start this configuration while another instance is still running, IntelliJ IDEA suggests to stop the running instance and start another one. This is helpful when a run/debug configuration consumes a lot of resources and there is no good reason to run multiple instances. |
Store as project file | Save the file with the run configuration settings to share it with other team members. The default location is .idea/runConfigurations. However, if you do not want to share the .idea directory, you can save the configuration to any other directory within the project. By default, it is disabled, and IntelliJ IDEA stores run configuration settings in .idea/workspace.xml. |
Toolbar
The tree view of run/debug configurations has a toolbar that helps you manage configurations available in your project as well as adjust default configurations templates.
Item | Shortcut | Description |
---|---|---|
Alt+Insert | Create a run/debug configuration. | |
Alt+Delete | Delete the selected run/debug configuration. Note that you cannot delete default configurations. | |
Ctrl+D | Create a copy of the selected run/debug configuration. Note that you create copies of default configurations. | |
The button is displayed only when you select a temporary configuration. Click this button to save a temporary configuration as permanent. | ||
Move into new folder / Create new folder. You can group run/debug configurations by placing them into folders. To create a folder, select the configurations within a category, click , and specify the folder name. If only a category is in focus, an empty folder is created. Then, to move a configuration into a folder, between the folders or out of a folder, use drag or and buttons. To remove grouping, select a folder and click . | ||
Click this button to sort configurations in the alphabetical order. |
Before launch
In this area, you can specify tasks to be performed before starting the selected run/debug configuration. The tasks are performed in the order they appear in the list.
Item | Shortcut | Description |
---|---|---|
Alt+Insert | Click this icon to add one of the following available tasks:
| |
Alt+Delete | Click this icon to remove the selected task from the list. | |
Enter | Click this icon to edit the selected task. Make the necessary changes in the dialog that opens. | |
/ | Alt+Up/Alt+Down | Click these icons to move the selected task one line up or down in the list. The tasks are performed in the order that they appear in the list. |
Show this page | Select this checkbox to show the run/debug configuration settings prior to actually starting the run/debug configuration. | |
Activate tool window | By default this checkbox is selected and the Run or the Debug tool window opens when you start the run/debug configuration. Otherwise, if the checkbox is cleared, the tool window is hidden. However, when the configuration is running, you can open the corresponding tool window for it yourself by pressing Alt+4 or Alt+5. |