Run/Debug Configuration: Karma
Create:
In this dialog, create configurations for running and debugging JavaScript unit tests using the Karma test runner.
Before you start
Download and install Node.js.
Install the Karma test runner as described in Karma.
Install the Karma plugin in as described in Installing plugins from JetBrains Marketplace.
Karma-specific configuration settings
Item | Description |
|---|---|
Configuration file | In this field, specify the location of the Karma configuration file. Normally, the file has the extensions .conf.js |
Karma options | In this field, specify the command-line options that you want to pass to Karma to override the default settings from the karma.conf.js configuration file. For example, to run or debug tests in Headless Chrome, type To see all the available CLI options, type |
Node runtime | In this field, specify the Node.js runtime to use. If you choose the Project alias, IntelliJ IDEA will automatically use the project default interpreter from the Node runtime field on the JavaScript Runtime page . In most cases, IntelliJ IDEA detects the project default runtime and fills in the field itself. You can also choose another configured local or remote interpreter or click |
Node options | In this field, type the Node.js-specific command-line options to be passed to the Node.js executable file.
|
Karma package | In this field, specify one of the following:
|
Working directory | In this field, specify the working directory of the application. By default, the Working directory field shows the project root folder. To change this predefined setting, specify the path to the desired folder. |
Environment variables | In this field, optionally specify the environment variables for executing commands. |
Tests | In this area, specify the tests to be executed. The available options are:
|
Common settings
When you edit a run configuration (but not a run configuration template), you can specify the following options:
Item | Description |
|---|---|
Name | Specify a name for the run configuration to quickly identify it among others when editing or running. |
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. |
Stepping tab
On this tab, specify the stepping options.
Some scripts (for example, methods of standard Java classes like System) are skipped by Step into as you normally might not need to debug them. This list can be fine-tuned on the page of the Settings dialog (Ctrl+Alt+S) .
Open the run/debug configuration to launch a debugging session with and switch to the Stepping tab.
To suppress automatic Smart Step Into, clear the Always do smart step into checkbox.
To skip scripts from the
ignoreListfield of the sourcemaps, select the Ignore known third party scripts specified in source maps checkbox.The older Chrome-specific field name
x_google_ignoreListis deprecated but may still be recognized when theignoreListfield is absent. Learn more from the source map specification.To suppress stepping into custom scripts, select the Do not step into scripts with a URL matching the patterns below checkbox and expand the default list of such scripts below. Use
*,?,**and!.
Pattern syntax
The following characters are supported in patterns:
An asterisk
*matches zero or more characters except a slash/. Use this character inside a single path part.A question mark
?matches exactly one character except a slash/.A double asterisk
**as a whole segment matches zero or more path segments. Its meaning depends on its position:As the first part, it matches any leading symbols.
As the last part, it matches any trailing symbols.
In the middle, it matches one or more parts. For example,
a/**/bmatchesa/x/banda/x/y/bbut nota/b.
A trailing double asterisk
**at the end of the last segment (not on its own a full segment, for example,foo**) matches any suffix after that segment. For example,foo**matchesfoo,foobar, andfoo/bar.A pattern that starts with and exclamation mark
!negates the given pattern and modifies the patterns added before it in the list. It does not add a new pattern of its own.
- Example 1
In the pattern list
["**/*.ts", "!**/*.test.ts"], the first glob matches every .ts file. The second pattern modifies the first glob to exclude every .test.ts file from match.- Example 2
A passed URL is split into parts by means of a slash
/. Accordingly,**/node_modules/**is split as follows::Double asterisk
**matches any path before thenode_modulessegment.node_modulesmatches against anode_modulesin the URL.Double asterisk
**matches anything trailing.
As a result, the pattern
**/node_modules/**matches any URL that containsnode_modules.Keep in mind that the URLs of the scripts are matched against the whole pattern. If we remove the second double asterisk
**, the pattern will match any URL that ends withnode_modulesof which there will likely be zero.- Example 3
Skip the second double asterisk
**to match against any pattern that ends with a particular filename.**/app.jsmatches all URLs that end withapp.js.The following pattern list will ignore all scripts in node_modules except those named app.js.
**/node_modules/** !**/app.js
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 Then, to move a configuration into a folder, between the folders or out of a folder, use drag or 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. |
