PhpStorm 2017.3 Help

Mocha

You can run and debug tests with Mocha right in PhpStorm. You can see the test results in a treeview and easily navigate to the test source from there. Test status is shown next to the test in the editor with an option to quickly run it or debug it.

Before you start

  1. Make sure the Node.js runtime environment is installed on your computer.
  2. Install and enable the NodeJS repository plugin on the Plugins page as described in Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins.

Installing Mocha

Open the built-in PhpStorm Terminal (Alt+F12) and type one of the following commands at the command prompt:

  • npm install mocha for local installation in your project.
  • npm install -g mocha for global installation.
  • npm install --save-dev mocha to install Mocha as a development dependency.
See also Getting Started on the Mocha official website.

Running tests

With PhpStorm, you can quickly run a single Mocha test right from the editor or create a run/debug configuration to execute some or all of your tests.

To run a single test from the editor
Click run.png or rerun.png in the left gutter and choose Run <test_name> from the pop-up list. You can also see whether a test has passed or failed right in the editor, thanks to the test status icons ws_icon_test_status.png in the left gutter.

To create a Mocha run configuration

  1. Open the Run/Debug Configuration dialog box (Run | Edit Configurations on the main menu).
  2. Click the new on the toolbar and select Mocha from the list. The Run/Debug Configuration: Mocha dialog box opens.
  3. Specify the Node interpreter to use and the location of the mocha package.
  4. 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.

  5. Optionally configure rerunning the tests automatically on changes in the related source files. To do that, add the --watch flag in the Extra Mocha options field.
  6. Specify the tests to run. This can be a specific test or suite, an entire test file, or a folder with test files. You can also define patterns to run only the tests from the matching files.
  7. Choose the interface used in the test to run.

To run tests via a run configuration

  1. Select the Mocha run/debug configuration from the list on the main toolbar and click run to the right of the list.
    ws_select_run_configuration.png
  2. The test server starts automatically without any steps from your side. View and analyze messages from the test server in the Run tool window.
  3. Monitor test execution in the Test Runner tab of the Run tool window as described in Monitoring and Managing Tests.

Navigation

With PhpStorm, you can jump between a file and the related test file. Navigation from a test result in the Test Runner Tab to the test is also supported.

To jump between a file and the related test file
Open the file in the editor and choose Go To | Test or Go To | Test Subject on the context menu, or just press Ctrl+Shift+T.

To jump from a test result to the test
Select the test name in the Test Runner tab and choose Jump to Source on the context menu.

ws_test_jump_to_test
The test file opens in the editor with the cursor placed at the test definition.

Debugging tests

With PhpStorm, you can quickly start debugging a single Mocha test right from the editor or create a run/debug configuration to debug some or all of your tests.

To start debugging a single test from the editor
Click run.png or rerun.png in the left gutter and choose Debug <test_name> from the pop-up list.

To launch test debugging via a run/debug configuration

  1. Create a Mocha run/debug configuration as described above.
  2. Select the Mocha run/debug configuration from the list on the main toolbar and click debug to the right of the list.
    ws_select_run_configuration.png
  3. In the Debug Tool Window that opens, proceed as usual: step through the tests, stop and resume test execution, examine the test when suspended, etc.

Monitoring code coverage

With PhpStorm, you can also monitor how much of your code is covered with Mocha tests. PhpStorm displays this statistics in a dedicated tool window and marks covered and uncovered lines visually right in the editor. To monitor coverage, you need to install nyc, the command-line interface for Istanbul.

To install nyc
Open the built-in PhpStorm Terminal (Alt+F12) and type npm install --save-dev nyc.

To run tests with coverage

  1. Create a Mocha run/debug configuration as described above.
  2. Select the Mocha run/debug configuration from the list on the main toolbar and click runWithCoverage to the right of the list.
    Alternatively, quickly run a specific suite or a test with coverage from the editor: click run.png or rerun.png in the left gutter and choose Run <test_name> with Coverage from the pop-up list.
  3. Monitor the code coverage in the Coverage tool window. The report shows how many files were covered with tests and the percentage of covered lines in them. From the report you can jump to the file and see what lines were covered – marked green – and what lines were not covered – marked red:
    ws_mocha-coverage-report.png

Last modified: 29 March 2018

See Also