Write tests in Gherkin. Get documentation that never goes stale.
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.
npm install --save-dev vitest @swedevtools/livedoc-vitest// 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.
// 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()],
},
});npx vitest run📖 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.
MIT