RubyMine 2018.1 Help

Run/Debug Configuration: Mocha

Run | Edit Configurations | new | Mocha


In this dialog box, create configurations for running and debugging JavaScript unit tests using the Mocha test framework.

Getting access to the Run/Debug Configuration: Mocha dialog

  1. Install and enable the Node.js plugin. The plugin is not bundled with RubyMine, but it can be installed from the JetBrains plugin repository as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.
  2. Download and install Node.js that contains the Node Package Manager(npm).
  3. Using the Node Package Manager, install the Mocha test framework as described in Mocha.

Mocha-specific configuration settings

ItemDescription
Node.js interpreter In this field, specify the Node.js interpreter to use. Choose one of the configured interpreters or click browseButton.png and configure a new one as described in Configuring a local Node.js interpreter. If you choose the Project alias, RubyMine will automatically use the project default interpreter from the Node interpreter field on the Node.js and NPM page.
Node options In this text box, type the Node.js-specific command line options to be passed to the Node.js executable file. See Node Parameters for details.
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 or choose a previously used folder from the list.

Environment variables In this field, specify the environment variables for the Node.js executable file, if applicable. Click Browse browseButton.png to the right of the field and configure a list of variables in the Environment Variables dialog box, that opens:
  • To define a new variable, click Add add.png and specify the variable name and value.
  • To discard a variable definition, select it in the list and click Delete delete.png.
  • Click OK, when ready

The definitions of variables are displayed in the Environment variables read-only field with semicolons as separators. The acceptable variables are:

  • NODE_PATH: A :-separated list of directories prefixed to the module search path.
  • NODE_MODULE_CONTEXTS: Set to 1 to load modules in their own global contexts.
  • NODE_DISABLE_COLORS: Set to 1 to disable colors in the REPL.
Mocha package In this field, specify the Mocha installation home /npm/node_modules/mocha. If you installed Mocha regularly through the Node Package Manager, RubyMine detects the Mocha installation home itself. Alternatively, type the path to executable file manually, or click Browse browseButton.png and select the location in the dialog box, that opens.
User interface From this drop-down list, choose the interface according to which the tests in the test folder are written. RubyMine will recognize only tests that comply with the chosen interface. If during test execution RubyMine runs against a test of another interface, the test session will be canceled with an error. This means that all the tests in the specified test folder must be written according to the same interface and this interface must be chosen from the drop-down list.
Extra Mocha options In this field, specify additional Mocha command line options. For example, add a --watch flag to turn on the autotest-like runner. As a result, any test in the current run configuration restarts automatically on changing the related source code, without clicking the Rerun button run.
Tests In this area, specify the tests to be executed. The available options are:
  • All in directory: choose this option to run all the tests from the files stored in a folder and specify the path to this folder in the Test directory field. To look for tests in the subfolders under the specified directory, select the Include subdirectories checkbox.
  • File pattern: choose this option to look for tests in all the files with the names that match a certain mask and specify the mask in the Test file pattern field.
  • Test file: choose this option to run only the tests from one file and specify the path to this file in the Test file field.
  • Suite: choose this option to run individual suites from a test file and specify the path to this file in the Test file field. Click the Suite name field and configure a list of suites to run. To add a suite to the list, click addRoot.png and type the name of the required suite. To remove a suite, select it in the list and click minusSign.png
  • Test: choose this option to run individual tests from a test file and specify the path to this file in the Test file field. Click the Test name field and configure a list of tests to run. To add a test to the list, click addRoot.png and type the name of the required test. To remove a test, select it in the list and click minusSign.png

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

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml.

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, RubyMine 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 RubyMine. In the dialog that opens, select the application or applications that should be run. If the necessary application is not defined in RubyMine yet, add its definition. For more information, see Configuring Third-Party Tools and External Tools.
  • 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 File Watchers. Select this option to have RubyMine apply all the currently active file watchers.
  • 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 option to execute an npm script. In the NPM Script dialog box that opens, specify the npm run/debug configuration settings.
  • Start React Native Bundler. Select this option to run the bundler automatically, as part of a running or debugging session. by default, this is done through react-native start. If your application uses Expo, you need to run the development server via the start npm task. To do that, click edit, then in the Configure React Native dialog, choose npm script and select start from the list.
  • 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 checkbox to configure the behaviour of the compiler in case any errors are detected:
    • If the Check errors checkbox is selected, the compiler will show all the errors and the run configuration will not start.
    • If the Check errors checkbox 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.
  • Run Remote External tool: Add a remote SSH external tool. Refer to the section Remote SSH External Tools for details.
  • Upload files to Remote Host. Select this option to have the application files automatically uploaded to the server according to the default server access configuration.
  • Run Rake task:Add a Rake task to be executed prior to running or debugging. To choose a Rake task, click the browse button browseButton, and select the desired task from the list of available tasks.

    Note that code completion is available here.

    runConfigRakeTask
    To learn more about Rake support, refer to Rake section.
  • Run JRuby compiler: choose this option to execute JRuby compiler with the specified target path, compiler process heap size, and command line parameters (if any).
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.
Activate 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.
Last modified: 1 August 2018

See Also

Procedures: