【发布时间】:2021-09-03 15:00:09
【问题描述】:
我有一个如下所示的组件文件,我想编写一个单元测试,如果 subComponent 作为 Header
下 App.test.tsx 下的 Header 父组件的 prop 传递,子组件应该显示该测试。我知道我可以通过渲染 Header 组件并将 sub 作为 prop 来编写测试。但是如何通过渲染 App 组件来测试相同的功能呢?
// SubComponentButton.test.tsx
const sub = <button test-id="test-id">Mock Sub Component</button>;
render(<Header subComponent={sub} />
expect(screen.queryByRole('button', {name: /mock sub/i})).toHaveTextContenet('Mock Sub Component');
// App component
export default function App() {
const subComponent: JSX.Element = useMemo(() => {
return ( <SubComponentButton />);
}, []);
return (
<div className="App">
<Header
subComponent={subComponent}
/>
</div>
);
}
【问题讨论】:
-
你用什么来写你的其他单元测试?此信息可以提供更简洁的答案
-
笑话和测试库
标签: javascript reactjs typescript unit-testing