Vitest reporter with OpenTelemetry support for auto-instrumentation with Dagger.
dagger toolchain install github.com/dagger/vitest
# Execute vitest through the toolchain (no additional setup needed)
dagger checkYou can customize vitest using customization
If you prefer to directly install the vitest library, run:
npm install --save-dev @dagger.io/vitestThen set the import in your NODE_OPTIONS when executing your tests:
NODE_OPTIONS="$NODE_OPTIONS --import @dagger.io/vitest/register" npx vitest runThat's it! The reporter will automatically create OpenTelemetry spans for:
- Test files (modules)
- Test suites (describe blocks)
- Individual tests (it/test blocks)
Test spans include dagger.io/ui.boundary plus OpenTelemetry test semantic convention attributes: test.case.name, test.case.result.status, and test.suite.name.
Suite spans include dagger.io/ui.boundary, test.suite.name, and test.suite.run.status.
test-file.ts (module span)
└─ describe block (suite span)
├─ test 1 (test span)
├─ SELECT * FROM users (inside test span)
└─ Container.withExec(...) (inside test span)
└─ test 2 (test span)
Apache-2.0