项目作者: tanem

项目描述 :
:black_joker: Custom Jest snapshot matchers that use prettyhtml to format strings.
高级语言: TypeScript
项目地址: git://github.com/tanem/jest-prettyhtml-matchers.git
创建时间: 2019-04-06T16:36:36Z
项目社区:https://github.com/tanem/jest-prettyhtml-matchers

开源协议:MIT License

下载


jest-prettyhtml-matchers

npm version
build status
coverage status
npm downloads

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:

  1. // setupJest.js
  2. import { createPrettyHtmlMatchers } from 'jest-prettyhtml-matchers'
  3. 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:

  1. expect(string).toMatchPrettyHtmlSnapshot()
  2. 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. If options is not provided, prettyhtml’s default options will be used when formatting strings. If options 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

  1. createPrettyHtmlMatchers()
  2. 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 in createPrettyHtmlMatchers.
  • hint - Optional A string that is appended to the test name.

Examples

  1. expect(string).toMatchPrettyHtmlSnapshot()
  2. expect(string).toMatchPrettyHtmlSnapshot('testName')
  3. expect(string).toMatchPrettyHtmlSnapshot({ singleQuote: false })
  4. 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 in createPrettyHtmlMatchers.
  • 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

  1. expect(string).toMatchInlinePrettyHtmlSnapshot()
  2. expect(string).toMatchInlinePrettyHtmlSnapshot({ singleQuote: false })

Installation

  1. $ npm install -D jest-prettyhtml-matchers

License

MIT