Skip to content
← Back to rules

jest/valid-describe-callback Correctness

What it does

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

Why is this bad?

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

Examples

Examples of incorrect code for this rule:

javascript
// Async callback functions are not allowed
describe("myFunction()", async () => {
  // ...
});

// Callback function parameters are not allowed
describe("myFunction()", (done) => {
  // ...
});

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

How to use

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["jest"],
  "rules": {
    "jest/valid-describe-callback": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["jest"],
  rules: {
    "jest/valid-describe-callback": "error",
  },
});
bash
oxlint --deny jest/valid-describe-callback --jest-plugin

Version

This rule was added in v0.0.8.

References