是否可以将 react-testing-library 与 storybook storyshots 插件一起使用?我想为不使用酶的反应成分生成一些测试。
问问题
1399 次
1 回答
10
对你来说可能有点晚了,但只是在研究这个确切的问题。这是我想出的配置,似乎对我有用。
import initStoryshots from "@storybook/addon-storyshots";
import path from "path";
import { render } from "react-testing-library";
const reactTestingLibrarySerializer = {
print: (val, serialize, indent) => serialize(val.container.firstChild),
test: (val) => val && val.hasOwnProperty("container")
};
initStoryshots({
configPath: path.join(__dirname, "..", "config", "storybook"),
framework: "react",
integrityOptions: { cwd: path.join(__dirname, "stories") },
renderer: render,
snapshotSerializers: [reactTestingLibrarySerializer],
storyKindRegex: /^((?!.*?DontTest).)*$/
});
秘诀是为snapshotSerializers选项传入一个自定义的 Jest序列化程序,该选项从渲染函数的结果中获取容器并传递其 firstChild 以进行序列化。
如果需要,您可以在序列化之前修改容器的内容,以使用 DOM api 删除不稳定的属性或整个元素。
于 2019-04-17T08:20:58.233 回答