jest-prettyhtml-matchers
v1.17.14
Published
Custom Jest snapshot matchers that use prettyhtml to format strings.
Downloads
935
Maintainers
Readme
jest-prettyhtml-matchers
Custom Jest snapshot matchers that use prettyhtml to format strings.
Basic Usage | API | Installation | License
Basic Usage
First, add the custom matchers to Jest. A convenient way to do this is via a setup file included in setupFilesAfterEnv
:
// setupJest.js
import { createPrettyHtmlMatchers } from 'jest-prettyhtml-matchers'
expect.extend(createPrettyHtmlMatchers())
Note for TypeScript users: To ensure the global jest declaration is augmented correctly, this file should be included via your TypeScript configuration. There's an example of this setup in tanem/react-svg.
Now you can use the custom matchers in your tests:
expect(string).toMatchPrettyHtmlSnapshot()
expect(string).toMatchInlinePrettyHtmlSnapshot()
API
createPrettyHtmlMatchers(options?: PrettyHtmlOptions)
Generates the custom matchers so that they can be added to Jest.
Arguments
options
- Optional An object containing prettyhtml options. Ifoptions
is not provided, prettyhtml's default options will be used when formatting strings. Ifoptions
is provided, it will be merged with prettyhtml's default options, and the merged options will be used when formatting strings. In both cases, the options will apply to all usages of the custom matchers, but can be overridden in the matcher calls themselves.
Examples
createPrettyHtmlMatchers()
createPrettyHtmlMatchers({ singleQuote: false }))
toMatchPrettyHtmlSnapshot(options?: PrettyHtmlOptions, hint?: string)
Ensures that a value formatted with prettyhtml matches the most recent snapshot.
Arguments
options
- Optional An object containing prettyhtml options. These options take precedence over options defined globally increatePrettyHtmlMatchers
.hint
- Optional A string that is appended to the test name.
Examples
expect(string).toMatchPrettyHtmlSnapshot()
expect(string).toMatchPrettyHtmlSnapshot('testName')
expect(string).toMatchPrettyHtmlSnapshot({ singleQuote: false })
expect(string).toMatchPrettyHtmlSnapshot({ singleQuote: false }, 'testName')
toMatchInlinePrettyHtmlSnapshot(options?: PrettyHtmlOptions, inlineSnapshot?: string)
Ensures that a value formatted with prettyhtml matches the most recent snapshot.
Arguments
options
- Optional An object containing prettyhtml options. These options take precedence over options defined globally increatePrettyHtmlMatchers
.inlineSnapshot
- Optional Jest adds this string to the matcher in the test file (instead of an external.snap
file) the first time that the test runs.
Examples
expect(string).toMatchInlinePrettyHtmlSnapshot()
expect(string).toMatchInlinePrettyHtmlSnapshot({ singleQuote: false })
Installation
$ npm install -D jest-prettyhtml-matchers
License
MIT