diff --git a/readme.md b/readme.md index 6f93b3ddc..661e1c193 100644 --- a/readme.md +++ b/readme.md @@ -18,6 +18,7 @@ Translations: [EspaƱol](https://github.com/avajs/ava-docs/blob/master/es_ES/rea - [Usage](#usage) - [CLI Usage](#cli) +- [Debugging](#debugging) - [Reporters](#reporters) - [Configuration](#configuration) - [Documentation](#documentation) @@ -169,6 +170,20 @@ Directories are recursed, with all `*.js` files being treated as test files. Dir When using `npm test`, you can pass positional arguments directly `npm test test2.js`, but flags needs to be passed like `npm test -- --verbose`. +## Debugging + +AVA runs tests in child processes, so to debug tests, you need to do this workaround: + +```console +$ node --inspect node_modules/ava/profile.js some/test/file.js +``` + +In the future this bypass may not be required; See #874. + +### Debugger-specific tips + +- [WebStorm](docs/recipes/debugging-with-webstorm.md) + ## Reporters ### Mini-reporter @@ -972,14 +987,6 @@ Running tests concurrently comes with some challenges, doing file IO is one. Usually, serial tests create temp directories in the current test directory and clean them up at the end. This won't work when you run tests concurrently as tests will conflict with each other. The correct way to do it is to use a new temp directory for each test. The [`tempfile`](https://github.com/sindresorhus/tempfile) and [`temp-write`](https://github.com/sindresorhus/temp-write) modules can be helpful. -### Debugging - -AVA runs tests concurrently by default, which is suboptimal when you need to debug something. Instead, run tests serially with the `--serial` option: - -```console -$ ava --serial -``` - ### Code coverage You can't use [`istanbul`](https://github.com/gotwarlost/istanbul) for code coverage as AVA [spawns the test files](#process-isolation). You can use [`nyc`](https://github.com/bcoe/nyc) instead, which is basically `istanbul` with support for subprocesses.