@swedevtools/livedoc-vitest
v0.2.0
Published
BDD extensions for Vitest that support LiveDoc reporting with Gherkin syntax and MSpec-style specifications.
Maintainers
Readme
@swedevtools/livedoc-vitest
Turn your tests into living documentation
Write tests in Gherkin. Get documentation that never goes stale.
What is LiveDoc?
LiveDoc brings Behavior-Driven Development to Vitest with full Gherkin syntax — Feature / Scenario / Given / When / Then, Specification / Rule, Scenario Outlines, Tags & Filtering, and beautiful reports.
Quick Start
Install
npm install --save-dev vitest @swedevtools/livedoc-vitestCreate a spec
// tests/Calculator.Spec.ts
import { feature, scenario, given, when, Then as then, and } from '@swedevtools/livedoc-vitest';
feature("Calculator", () => {
scenario("Adding two numbers", () => {
let result = 0;
given("I have entered '50' into the calculator", (ctx) => {
result = ctx.step.values[0];
});
and("I have entered '70' into the calculator", (ctx) => {
result += ctx.step.values[0];
});
when("I press add", () => {
// Addition already happened above
});
then("the result should be '120'", (ctx) => {
expect(result).toBe(ctx.step.values[0]);
});
});
});Why
Then as then? ES modules treatthenas a thenable indicator. We exportThen(uppercase) and you alias it.
Configure Vitest
// vitest.config.ts
import { defineConfig } from 'vitest/config';
import { LiveDocSpecReporter } from '@swedevtools/livedoc-vitest/reporter';
export default defineConfig({
test: {
globals: true,
include: ['**/*.Spec.ts'],
reporters: [new LiveDocSpecReporter()],
},
});Run
npx vitest runDocumentation
📖 Full documentation at livedoc.swedevtools.com →
Covers getting started, BDD & Specification patterns, data extraction, scenario outlines, tags & filtering, reporters, viewer integration, CI/CD, troubleshooting, and more.
License
MIT
