diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 72caef20636f..c3c13c3695c6 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -192,6 +192,23 @@ Jest takes advantage of new features added to Node 6. We recommend that you upgr Make sure you are not using the `babel-plugin-istanbul` plugin. Jest wraps Istanbul, and therefore also tells Istanbul what files to instrument with coverage collection. When using `babel-plugin-istanbul`, every file that is processed by Babel will have coverage collection code, hence it is not being ignored by `coveragePathIgnorePatterns`. +## Defining Tests + +Tests much be defined synchronously for Jest to be able to collect your tests. + +This means when you are using `test.each` you cannot set the table asynchronously within a `beforeEach` / `beforeAll`. + +As an example to show why this is the case, imagine we wrote a test like so: + +```js +// Don't do this it will not work +setTimeout(() => { + it('passes', () => expect(1).toBe(1)); +}, 0); +``` + +When Jest runs your test to collect the `test`s it will not find any because we have set the definition to happen asynchronously on the next tick of the event loop. + ## Still unresolved? See [Help](/help.html).