Skip to content
NewBun 1.4.5 is out. Release notes
AphrodyBun

Linter · Rules

bun:test/padding-around-test-blocks

Require a blank line before each test and it call

Tests written right under each other, or right under setup code, are hard to tell apart when you scan a file. A blank line above each test or it call separates them.

Only the line above the call is checked, not the line below. Comments directly above the call count as part of it, so the blank line goes above them. A test that comes first in a file or in a describe callback doesn't need a blank line.

--fix inserts the blank line.

Configure

Off by default. To turn it on:

bunfig.toml
[lint.rules]
"bun:test/padding-around-test-blocks" = "error" # or "warn"

Examples

Reported:

import { describe, expect, test } from "bun:test";

describe("cart", () => {
  const cart = createCart();
  test("starts empty", () => {
    expect(cart.items).toEqual([]);
  });
  test.skip("adds an item", () => {
    expect(cart.add("apple").items).toEqual(["apple"]);
  });
});

Not reported:

import { describe, expect, test } from "bun:test";

describe("cart", () => {
  const cart = createCart();

  test("starts empty", () => {
    expect(cart.items).toEqual([]);
  });

  // Waits for the new storage layer.
  test.skip("adds an item", () => {
    expect(cart.add("apple").items).toEqual(["apple"]);
  });
});