【发布时间】:2020-02-16 23:17:58
【问题描述】:
我正在使用 jest/istanbul 来跟踪代码覆盖率。我有以下组件:
// Menu.jsx
const myComponent = ({ initialState }) = {
const [state, setState] = useState(initialState);
const [menuContent, setMenuContent] = useState(undefined);
return (
<Menu>
{state.accordions.map(item, index) => (
<MenuPanel id={item.id}>
{item.details && typeof item.details === 'function'
? <item.details setContent={myContent => setMenuContent(myContent)} />
: undefined}
</MenuPanel>
)}
</Menu>
)
}
在我对Menu.jsx 的测试中,开玩笑的覆盖率报告抱怨setMenuContent 不在我的测试中。我应该如何测试这样的钩子?我认为这是不可能的。我尝试测试子组件上是否存在 setContent 道具,但这没有帮助。关于如何让它通过覆盖率报告的任何想法?我在测试中使用浅层渲染。
【问题讨论】:
标签: javascript reactjs testing jestjs