no-tautological-expect
Disallow supported assertions fixed by literal setup or immutable self identity.
Why
An assertion fixed by literal setup or one immutable binding's identity cannot distinguish a wrong result from the intended behavior.
Fix
Assert on a value produced by the behavior under test against an independently specified expectation, or remove only the redundant assertion while preserving coverage.
Examples
import { expect } from "vitest";expect(true).toBeTruthy();import { expect } from "vitest";expect(() => expect(true).toBeTruthy()).not.toThrow();import { expect } from "vitest";const result = serviceStatus();expect(result).toBe(result);import { expect } from "vitest";const result = serviceStatus();expect(result.status).toBe("ready");it("works", () => { expect(true).toBe(true);});it("adds", () => { expect(add(1, 1)).toBe(2);});import { expect } from "vitest";expect(true, "service ready").toBe(true);import { expect } from "vitest";expect(serviceReady(), "service ready").toBe(true);import { expect as verify } from "vitest";it("works", () => { const ready = false; verify(ready).not.toBeTruthy();});import { expect as verify } from "vitest";it("works", () => { verify(serviceStatus()).not.toBeNull();});it("works", () => { const status = "ok"; expect(status).toBe("ok");});it("works", () => { const status = serviceStatus(); expect(status).toBe("ok");});import { expect } from "vitest";expect.extend({ toBeReady: custom });expect(true).toBe(true);import { expect } from "vitest";expect.extend({ toBe: () => ({ pass: false, message: () => "custom contract" }) });expect(true).toBe(true);