Skip to content

fix: apply serializer to Error instance for thrown snapshot#4396

Merged
sheremet-va merged 12 commits intovitest-dev:mainfrom
hi-ogawa:fix-no-unwrap-error-message-for-thrown-snapshot
Nov 2, 2023
Merged

fix: apply serializer to Error instance for thrown snapshot#4396
sheremet-va merged 12 commits intovitest-dev:mainfrom
hi-ogawa:fix-no-unwrap-error-message-for-thrown-snapshot

Conversation

@hi-ogawa
Copy link
Collaborator

@hi-ogawa hi-ogawa commented Oct 30, 2023

Description

Closes #3655

As explained in #3655 (comment), currently vitest hard-codes specific behavior to extract Error.message for Error instance when it's snapshot-ed via toThrowErrorMatching..., which prevents error from being applied with user-provided serializer.
This PR removes this special behavior, so that Error instance's snapshot is a consistent regardless of whether its snapshote-ed via toMatchInlineSnapshot or toThrowErrorMatchingInlineSnapshot.

Due to the removal of Error.message extraction, the default snapshot format changes in a following way

// before
  expect(() => {
    throw new Error('omega')
  }).toThrowErrorMatchingInlineSnapshot(`"ometa"`)

// after
  expect(() => {
    throw new Error('omega')
  }).toThrowErrorMatchingInlineSnapshot(`[Error: omega]`)

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. If the feature is substantial or introduces breaking changes without a discussion, PR might be closed.
  • Ideally, include a test that fails without this PR but passes with it.
  • Please, don't make changes to pnpm-lock.yaml unless you introduce a new test example.

Tests

  • Run the tests with pnpm test:ci.

Documentation

  • If you introduce new functionality, document it. You can run documentation with pnpm run docs command.

Changesets

  • Changes in changelog are generated from PR name. Please, make sure that it explains your changes in an understandable manner. Please, prefix changeset messages with feat:, fix:, perf:, docs:, or chore:.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add error serializer

2 participants