-
-
Notifications
You must be signed in to change notification settings - Fork 9.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Storyshots browser and image snapshots #1781
Comments
+1 |
Same, puppeteer + jest-image-snapshot should cover these cases |
I may start working on this real soon. |
@smith-kyle @sideroad I would like to discuss about some possibilities around this if you have time. You can join Slack https://storybooks.slack.com to chat, otherwise I will write here my thoughts: As pointed out by @shilman , there is an alternative here: https://loki.js.org/ but I don't quite understand how to compare images on CI, it seems everything is generated locally, so the CI will fail only if an image is missing, not if it has changed and you did not update the reference image. Anyway for the addon-storyshots:
To generate images, I'm thinking of using puppeteer. I was thinking about generating images each time you run your tests like so: /* eslint-env jest */
import puppeteer from 'puppeteer';
import { toMatchImageSnapshot } from 'jest-image-snapshot';
expect.extend({ toMatchImageSnapshot });
describe('Imagediff - Button', () => {
let browser, page;
beforeEach(() => {
browser = await puppeteer.launch();
page = await browser.newPage();
});
afterEach(() => {
return browser.close();
});
test('button-basic', () => {
expect.assertions(1);
// Call the storybook in "iframe" mode to get only relevant content.
await page.goto('http://localhost:6006/iframe.html?selectedKind=components.buttons.Button&selectedStory=basic');
// Generate screenshot
const image = await page.screenshot();
// Check againt snapshot
expect(image).toMatchImageSnapshot();
});
)} That said, do you see anything that may not work for your use-case ? |
I'm gonna ask for this to be delayed until v3.4.0 since we should be releasing 3.3 soonish. Feel free to keep working on it as we'll get 3.4-alpha published when new features are ready to be tested. |
Released as |
It would be great if storyshots could diff screenshots of stories as they are rendered in a browser. The idea comes from this blog post: https://voice.kadira.io/snapshot-testing-in-react-storybook-43b3b71cec4f
Possible API:
The text was updated successfully, but these errors were encountered: