Closed
Description
Is this a bug report?
Yes.
Did you try recovering your dependencies?
Yes.
But I've started again with a fresh instance of Create React App (Git repo link further down...).
Which terms did you search for in User Guide?
"jest", "snapshot"
Environment
Environment:
OS: Windows 10
Node: 8.11.1
Yarn: 1.7.0
npm: 5.6.0
Watchman: Not Found
Xcode: N/A
Android Studio: Version 3.1.0.0 AI-173.4819257
Packages: (wanted => installed)
react: ^16.5.2 => 16.5.2
react-dom: ^16.5.2 => 16.5.2
react-scripts: ^1.1.4 => 1.1.4
Steps to Reproduce
Git repo (link below...) has README which explains issue.
Basically...
yarn test
andyarn coverage
both function correctly on "./src/App.test.js".- Adding an additional "jest-image-snapshot" test (with appropriate dependencies - e.g. Puppeteer) breaks the test, with a Node error as specified in title of this bug.
- Moving the image snapshot test to a folder OUTSIDE "./src" and running it independently via a Node script from "package.json", I get the same Node error.
Expected Behavior
I expected a PNG snapshot image to have been created from the rendered browser output. No image is generated.
Actual Behavior
Test fails to complete, with a Node error, as per title of this bug.
Activity
[-]Cannot generate image snapshot - getting error "TypeError: matcher.apply is not a function"[/-][+]Cannot generate Jest image snapshot - getting error "TypeError: matcher.apply is not a function"[/+]basher commentedon Sep 26, 2018
Wondering whether an update to Jest 23 as part of React Scripts update to V2 will help?
basher commentedon Sep 28, 2018
I've bumped react-scripts to V2 (beta).
Still get same error - TypeError: matcher.apply is not a function
bugzpodder commentedon Sep 28, 2018
Change your code to
import { toMatchImageSnapshot } from 'jest-image-snapshot';
and it should work. (notice the curly braces)basher commentedon Oct 1, 2018
@bugzpodder Thanks Jack. Why didn't I spot that?!