Awesome
jest-graphviz
A plugin for jest that supports graphviz integration.
Installation
The plugin can then be installed using npm:
yarn
yarn add -D jest-graphviz
npm
npm install --save-dev jest-graphviz
Configuration
Import jest-graphviz
with the script specified in setupFilesAfterEnv
.
Example
jest.config.js
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
verbose: true,
collectCoverage: true,
setupFilesAfterEnv: [
// Add this.
'<rootDir>/config/jest/setup-jest.ts',
],
};
config/jest/setup-jest.ts
import 'jest-graphviz';
Requirement
This extension requires Graphviz. If you don't have it installed, install it herehere.
Usage
toBeValidDot
describe('toBeValidDot test', () => {
it('matcher works', () => {
const dot = 'digraph g { a -> b; }';
expect(dot).toBeValidDot();
});
it('invalid dot', () => {
const dot = 'invalid';
expect(dot).not.toBeValidDot();
});
});
toBeValidDotAndMatchSnapshot
describe('toBeValidDotAndMatchSnapshot test', () => {
test('matcher works', () => {
const dot = 'digraph g { a -> b; }';
expect(dot).toBeValidDotAndMatchSnapshot();
});
});
toMatchDotJsonSnapshot
describe('toMatchDotJsonSnapshot test', () => {
test('matcher works', () => {
const dot = 'digraph g { a -> b; }';
expect(dot).toMatchDotJsonSnapshot();
});
});
It depends on the JSON output format added in Graphviz 2.40.0.
See Also
Graphviz-dot Test and Integration
- ts-graphviz
- Graphviz library for TypeScript.
- @ts-graphviz/react
- Graphviz-dot Renderer for React.
- setup-graphviz
- GitHub Action to set up Graphviz cross-platform(Linux, macOS, Windows).
License
This software is released under the MIT License, see LICENSE.