describe()
callback (valid-describe
)Using an improper describe()
callback function can lead to unexpected test errors.
This rule validates that the second parameter of a describe()
function is a callback function. This callback function:
return
statementsThe following describe
function aliases are also validated:
describe
describe.only
describe.skip
fdescribe
xdescribe
The following patterns are considered warnings:
// Async callback functions are not allowed describe('myFunction()', async () => { // ... }); // Callback function parameters are not allowed describe('myFunction()', done => { // ... }); // describe('myFunction', () => { // No return statements are allowed in block of a callback function return Promise.resolve().then(() => { it('breaks', () => { throw new Error('Fail'); }); }); });
The following patterns are not considered warnings:
describe('myFunction()', () => { it('returns a truthy value', () => { expect(myFunction()).toBeTruthy(); }); });