question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

New snapshot was not written. The update flag must be explicitly passed to write a new snapshot. This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.

See original GitHub issue

HI All,

I have a simple component for which I am trying to unit test with Jest snapshot and I am receiving below error.Can any one suggest how to fix it.

index.js

import React from ‘react’ import { FontAwesomeIcon } from ‘@fortawesome/react-fontawesome’ import { Button } from ‘reactstrap’

const CloseHistoryButton = ({ onClick }) => <div className="d-flex justify-content-end"> <Button color="danger" size="sm" onClick={onClick}> <FontAwesomeIcon icon="times" /> Close History </Button> </div>

export default CloseHistoryButton

CloseHistoryButton.test

import React from ‘react’ import ReactDOM from ‘react-dom’; import { shallow, mount, render } from ‘enzyme’; import { cleanup } from ‘@testing-library/react’; import renderer from ‘react-test-renderer’; import CloseHistoryButton from ‘…/CloseHistoryButton/index’; import registerIcons from ‘./…/…/…/…/icons/registerIcons’; import Enzyme from ‘enzyme’; import Adapter from ‘enzyme-adapter-react-16’; Enzyme.configure({ adapter: new Adapter() });

// automatically unmount and cleanup DOM after the test is finished. afterEach(cleanup); registerIcons(); test(‘renders correctly’, () => { const tree = renderer.create( <CloseHistoryButton /> ).toJSON(); expect(tree).toMatchSnapshot(); });

Error Log:

expect(received).toMatchSnapshot()

New snapshot was not written. The update flag must be explicitly passed to write a new snapshot.

This is likely because this test is run in a continuous integration (CI) environment in which snapshots are not written by default.

Received value
<div
  className="d-flex justify-content-end"
>
  <button
    aria-label={null}
    className="btn btn-danger btn-sm"
    onClick={[Function]}
  >
    <svg
      aria-hidden="true"
      className="svg-inline--fa fa-times fa-w-11 "
      data-icon="times"
      data-prefix="fas"
      focusable="false"
      role="img"
      style={Object {}}
      viewBox="0 0 352 512"
      xmlns="http://www.w3.org/2000/svg"
    >
      <path
        d="M242.72 256l100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48L242.72 256z"
        fill="currentColor"
        style={Object {}}
      />
    </svg>
     Close History
  </button>
</div>

  27 |                                 <CloseHistoryButton />
  28 |                                 ).toJSON();
> 29 |     expect(tree).toMatchSnapshot();
     |                  ^
  30 | });
  31 |
  32 | describe('Test Button component', () => {

  at Object.toMatchSnapshot (src/features/FleetImport/Results/CloseHistoryButton/CloseHistoryButton.test.js:29:18)

› 1 snapshot failed. Snapshot Summary › 1 snapshot failed from 1 test suite. Inspect your code changes or re-run jest with -u to update them.

Test Suites: 1 failed, 1 passed, 2 total Tests: 1 failed, 3 passed, 4 total Snapshots: 1 failed, 1 total Time: 4.338s Ran all test suites. npm ERR! Test failed. See above for more details.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:11

github_iconTop GitHub Comments

56reactions
leondengcommented, Dec 20, 2019

Just explicitly pass it in your CI configuration, like:

  • yarn test – --coverage --updateSnapshot
15reactions
suyash-edstemcommented, Oct 25, 2021

–updateSnapshot

Thanks! it works for me

Read more comments on GitHub >

github_iconTop Results From Across the Web

Jest React - New snapshot was not written. The update flag ...
The update flag must be explicitly passed to write a new snapshot. This is likely because this test is run in a continuous...
Read more >
Snapshot Testing - Jest
No, as of Jest 20, snapshots in Jest are not automatically written when Jest is run in a CI system without explicitly passing...
Read more >
update snapshot jest
New snapshot was not written. The update flag must be explicitly passed to write a new snapshot. This is likely because this test...
Read more >
What's wrong with snapshot tests. Since snapshot ... - Medium
When you write expect(mycomponent).toMatchSnapshot() , Jest creates a snapshot file, like mytest.spec.js.snap , with all snapshots of your test file. You ...
Read more >
Snapshot tests - Storybook
It's a way to identify markup changes that trigger rendering errors and warnings. Storybook is a helpful tool for snapshot testing because every...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found