# Testing signals — biomejs/biome

> Canonical page: https://codevetter.com/unpack/biome/testing-signals

# Testing signals — biomejs/biome

Scanned commit 82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443 (2026-09-21). Generated by codevetter codevetter 1.12.0 on 2026-09-22.

Rust tests use the built-in harness plus insta snapshots and codegen-driven spec tests. Language crates keep tests/specs directories with input files and expectation comments. The JS API uses Vitest. GitHub Actions runs the Rust suite, parser conformance, and autofix. Coverage is dense on parsers, formatters, and lint rules, and thinner on daemon lifecycle and editor integration.
- Crate tests are invoked with cargo test or just test. A single crate is just test-crate <name>. Doctests are just test-doc. CONTRIBUTING.md documents these commands. — [CONTRIBUTING.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/CONTRIBUTING.md) [justfile](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/justfile)
- Snapshot testing uses insta. Failing snapshots are reviewed with cargo insta accept, reject, or review. Formatter and lint tests often commit .snap files next to specs. — [CONTRIBUTING.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/CONTRIBUTING.md) [crates/biome_js_formatter/tests](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_js_formatter/tests)
- Lint and assist fixtures follow a spec layout: a source file with biome-ignore or expect comments, generated by macros in biome_analyze and exercised by the language test harness. The testing-codegen skill documents quick_test and orphan checks. — [.claude/skills/testing-codegen/SKILL.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.claude/skills/testing-codegen/SKILL.md) [crates/biome_js_analyze/tests](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_js_analyze/tests)
- Parser tests compare against Test262, Babel, TypeScript, and Prettier corpora. The parser_conformance workflow fails the build when those suites regress. — [.github/workflows/parser_conformance.yml#L1-L80](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.github/workflows/parser_conformance.yml#L1-L80) [crates/biome_js_parser/tests](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_js_parser/tests)
- Fuzzing is a separate Cargo workspace under fuzz/ with cargo-fuzz targets for parsers and the formatter. It is not part of the default cargo test run. — [fuzz/Cargo.toml#L1-L50](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/fuzz/Cargo.toml#L1-L50) [.github/workflows](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.github/workflows)
- packages/@biomejs/js-api tests run under Vitest (the repo's stack tags and package scripts). They require a prior WASM or JSON-RPC build, so they do not run from cargo test alone. — [packages/@biomejs/js-api/package.json](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/packages/%40biomejs/js-api/package.json) [CONTRIBUTING.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/CONTRIBUTING.md)
- CLI behavior is tested in crates/biome_cli/tests with fixture projects (configuration, lint, format, migrate). These spawn the library entry rather than only unit-testing parsers. — [crates/biome_cli/tests](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_cli/tests) [crates/biome_cli/Cargo.toml](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_cli/Cargo.toml)
- main.yml is the merge gate for Rust fmt, clippy, and test. autofix.yml regenerates bindings and schema when codegen drifts. lint_rule_docs.yml checks rule documentation. — [.github/workflows/main.yml#L1-L100](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.github/workflows/main.yml#L1-L100) [.github/workflows/autofix.yml](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.github/workflows/autofix.yml) [.github/workflows/lint_rule_docs.yml](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.github/workflows/lint_rule_docs.yml)
- Formatter idempotency and Prettier comparison tests live beside biome_js_formatter and related crates. A format change is expected to update snapshots, not only assertions. — [crates/biome_js_formatter/tests](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_js_formatter/tests) [crates/biome_formatter/src/lib.rs](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_formatter/src/lib.rs)
- Type-inference tests cover Salsa invalidation and module cycles in biome_js_type_info and biome_module_graph. Many syntax-only rules do not enable the type engine in their fixtures. — [crates/biome_js_type_info/src/lib.rs](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/crates/biome_js_type_info/src/lib.rs) [.claude/skills/type-inference/SKILL.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.claude/skills/type-inference/SKILL.md)
- Agents.md requires just f and just l before commit, plus the current crate's tests. User-facing changes also need a changeset under .changeset. — [AGENTS.md](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/AGENTS.md) [.changeset](https://github.com/biomejs/biome/blob/82f9b0e6ff4bdc4a99aa81b1b861934aa9cb9443/.changeset)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
