Skip to content

Instantly share code, notes, and snippets.

@berlysia
Created June 5, 2021 10:53
Show Gist options
  • Save berlysia/0a03362ff8fdc4475f59e0fd197e6a5e to your computer and use it in GitHub Desktop.
Save berlysia/0a03362ff8fdc4475f59e0fd197e6a5e to your computer and use it in GitHub Desktop.
configuration for jest-styled-components & snapshot-diff
import { expect } from "@jest/globals";
import prettyFormat from "pretty-format";
import snapshotDiff from "snapshot-diff";
import "snapshot-diff/extend-expect";
import snapshot from "jest-snapshot";
import { styleSheetSerializer } from "jest-styled-components";
const prettyFormatOptions = {
plugins: snapshot.getSerializers(),
};
// snapshot-diffから使うときにjestのシリアライザを参照しないので、同等物を埋め込む
const serializer = (x) => {
return prettyFormat(x, prettyFormatOptions);
};
const styleSheetSerializerForSnapshotDiff = {
...styleSheetSerializer,
print: (value) => styleSheetSerializer.print(value, serializer),
};
snapshotDiff.setSerializers([
...snapshotDiff.defaultSerializers,
styleSheetSerializerForSnapshotDiff,
]);
expect.addSnapshotSerializer(snapshotDiff.getSnapshotDiffSerializer());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment