Skip to content

noExportsInTest

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);
});
code-block.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);
});
biome.json
{
"linter": {
"rules": {
"suspicious": {
"noExportsInTest": "error"
}
}
}
}