Files
dewedev/node_modules/eslint-plugin-jest/docs/rules/valid-describe-callback.md
dwindown 7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00

1.4 KiB

Enforce valid describe() callback (valid-describe-callback)

Using an improper describe() callback function can lead to unexpected test errors.

Rule Details

This rule validates that the second parameter of a describe() function is a callback function. This callback function:

  • should not be async
  • should not contain any parameters
  • should not contain any return statements

The 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');
    });
  });
});

// Returning a value from a describe block is not allowed
describe('myFunction', () =>
  it('returns a truthy value', () => {
    expect(myFunction()).toBeTruthy();
  }));

The following patterns are not considered warnings:

describe('myFunction()', () => {
  it('returns a truthy value', () => {
    expect(myFunction()).toBeTruthy();
  });
});