Skip to content

noExportsInTest (since v1.6.0)

Diagnostic Category: lint/suspicious/noExportsInTest

Sources:

Disallow using export or module.exports in files containing tests

This rule aims to eliminate duplicate runs of tests by exporting things from test files. If you import from a test file, then all the tests in that file will be run in each imported instance, so bottom line, don’t export from a test, but instead move helper functions into a separate file when they need to be shared across tests.

export function myHelper() {}
describe('a test', () => {
expect(1).toBe(1);
});
suspicious/noExportsInTest.js:1:1 lint/suspicious/noExportsInTest ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Do not export from a test file.
  
  > 1 │ export function myHelper() {}
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    2 │ describe('a test', () => {
    3 │     expect(1).toBe(1);
  
function myHelper() {}
describe('a test', () => {
expect(1).toBe(1);
});