【发布时间】:2019-06-17 18:18:23
【问题描述】:
我正在尝试针对快照测试组件。组件渲染一个带有 onChange 事件的复选框,并且它的选中状态链接到设置为 true 的组件状态。
当快照被渲染时,它根本不显示 onChange 并且检查显示为一个空字符串。
我想要的结果是 onChange={[Function]} checked={true}。
我已经使用 react-test-renderer 和 Enzyme 进行了测试,并且都正确输出了快照。
组件文件
import React, { useState } from "react";
import "./App.css";
function App() {
const [count, setCount] = useState(true);
return (
<div className="App">
<input type="checkbox" checked={count} onChange={() => {}} />
</div>
);
}
export default App;
测试文件
import React from "react";
import App from "./App";
import { render } from "@testing-library/react";
it("renders", () => {
const { asFragment } = render(<App />);
expect(asFragment()).toMatchSnapshot();
});
快照文件
exports[renders 1] =
<DocumentFragment>
<div
class="App"
>
<input
checked=""
type="checkbox"
/>
</div>
</DocumentFragment>;
预期快照:
exports[renders 1] =
<DocumentFragment>
<div
class="App"
>
<input
checked={true}
type="checkbox"
onChange={[Function]}
/>
</div>
</DocumentFragment>;
【问题讨论】:
标签: reactjs react-testing-library