每次我测试我的 Material UI 文件时,Jest 都会抱怨,因为我嘲笑 makeStyles
并说我没有覆盖整个文件。
所以,它显示在覆盖文件上:
我的测试文件有这个:
jest.mock('@material-ui/styles', () => ({
...jest.requireActual('@material-ui/styles'),
makeStyles: () => () => ({}),
}))
我该如何嘲笑 makeStyles
,让 Jest 不再抱怨这一点并使我的报道报告“误报”?
答案 0 :(得分:1)
(“Jest 抱怨”到底是什么意思?如果我没看错的话,这完全是关于覆盖率报告,对吧?我猜测试本身是有效的。)
您的生产代码使用 theme => ({ cardContent, divider, spacer })
之类的回调作为 makeStyles()
的参数,但您的模型确实忽略了这些参数,这样就对每个测试隐藏了回调 - 即不会有实际执行某些操作的测试与回调及其结果。
覆盖率报告是正确的 - 您遗漏了部分测试文件。以下内容可能会提高您的代码覆盖率,但如果没有更多逻辑,您最终可能会出现一些“误报”,我猜...
jest.mock('@material-ui/styles', () => ({
...jest.requireActual('@material-ui/styles'),
makeStyles: cb => () => cb({ spacing: () => 0 }),
}))