PhpStorm 2023.3 Help

Explore test results

After PhpStorm finishes running your tests, it shows the results in the Run tool window on the Test Runner tab.

The console on the right shows the output of the current test session. It allows you to see the detailed information on the test execution and why your tests failed or were ignored.

The Test Runner toolbar located above the list of test results allows you to show and hide successful and ignored tests, display how much time it took to run each test, export, import, and sort test results.

Test runner in the Run tool window

Next to each test on the Test Runner tab, the IDE shows the test status icon:

Icon

Description

Test error

Test error. This status is assigned to tests that caused an exception from the tested source code.

Test failed

Test failed. If at least one child test fails, all its parent tests are marked as failed.

Test ignored

Test ignored.

In the PHP context, this icon indicates a skipped test.

A test can be skipped in two situations:

  • Intentionally, which is defined through the Require attribute.

  • When another test, on which the test depends, fails. Dependencies between tests are indicated through the Depends attribute.

Test in progress

Test in progress.

Test passed

Test passed successfully.

Terminated

Test terminated. This status is assigned to tests that were stopped.

If at least one test receives this status, then all unfinished tests and their parent tests are marked as terminated.

Sort and filter test results

Use the following options on the Test Runner toolbar if you want to focus only on the failed tests or if you want to reorganize test results:

  • Disable the the Show Passed button Show Passed option to hide successful tests.

  • Disable the the Show Ignored button Show Ignored option to hide ignored tests.

  • Click the Sort Alphabetically button to sort test results alphabetically.

  • Click the Sort by Duration button to sort test results by duration.

Track test execution

In PhpStorm, you can monitor execution of the current test. If a test suite contains multiple tests, the list of tests expands to show test methods as they run one by one.

  • To monitor test execution, click  the Settings button More on the toolbar and navigate to Test Runner Settings | Track Running Test. Ensure that Track Running Test is selected.

    Track test execution

Manage test results

  • Click the Settings button on the Test Runner toolbar and enable the following options:

    • Track Running Test: monitor execution of the current test.

    • Show Inline Statistics: view the execution time for tests.

    • Suites Always on Top: always place test nodes on top of the list when you apply sorting.

    • Scroll to Stack Trace: if a test produced a lot of output (for example, logging) before failing, this option automatically scrolls the output console to the assertion failure once you select the test on the Test Runner tab.

    • Open Source at Exception: if you double-click a failed test method on the Test Runner tab with this option on, the editor will scroll to the line on which the exception was thrown (instead of scrolling to the test method declaration).

    • Navigate with Single Click: open the code for the selected test automatically in the editor.

    • Set Auto Test Delay: point to this node to reveal the list of available delays between file saving and rerunning tests. The selected value gets the check mark.

    • Select First Failed Test When Finished: automatically select the first failed test in the list upon completing the test session.

View statistics

  • To view the execution time for tests, click the Settings button on the Test Runner toolbar and enable the Show Inline Statistics option.

    Test runner in the Run tool window

Jump to test declaration

  • Select the necessary test from the list on the Test Runner tab and press F4.

View assertEquals difference

If a unit test contains string assertEquals failures, the IDE allows you to compare the strings and view the differences.

  • Right-click the necessary test and select View assertEquals Difference from the context menu. You will be able to compare strings in the dedicated Diff Viewer.

    Viewing assertEquals difference

View results of previous tests

PhpStorm automatically saves results of the last 10 test sessions. To open the list of recent test sessions:

  • Click the Test History icon on the Test Runner toolbar and select the necessary test session from the list.

    For each test session, the list displays the run configuration name and a timestamp:

    Viewing results of previous tests

    You can also export test results to a file if you want to keep them or share with your team.

Export and import test results

Export test results to a file

  1. Click Export Test Results on the Test Runner toolbar.

  2. Select the format in which you want to save the file:

    • HTML: generate an HTML file from a pre-defined template.

    • XML: use this format if you want to import this file later to PhpStorm.

    • Custom, apply XSL template: use your custom XSL template to generate an HTML file from the raw XML output. Click Browse button next to this option and select the *.xsl code style definition file.

  3. Specify the name of the output file and its location.

  4. If you want to open the file in your browser after you export it, select the Open exported file in browser checkbox. Click OK.

Import test results

  1. To load a previously exported file, click Import Tests from File on the Test Runner toolbar.

    If you haven't run any tests yet, and the tool window with the Test Runner toolbar is not available, press Ctrl+Shift+A and type Import Tests from File.

  2. In the dialog that opens, select the .xml file with test results and click Open.

Last modified: 25 March 2024