【问题标题】:Cover Material-UI MakeStyles with Jest用 Jest 覆盖 Material-UI MakeStyles
【发布时间】:2021-07-28 03:45:33
【问题描述】:

每次我测试我的 Material UI 文件时,Jest 都会抱怨,因为我嘲笑 makeStyles 并说我没有覆盖整个文件。

所以,它显示在覆盖文件上:

我的测试文件有这个:

jest.mock('@material-ui/styles', () => ({
  ...jest.requireActual('@material-ui/styles'),
  makeStyles: () => () => ({}),
}))

我怎样才能模拟makeStyles,让 Jest 不再抱怨这一点并使我的报道报告“误报”?

【问题讨论】:

    标签: reactjs unit-testing jestjs material-ui


    【解决方案1】:

    (“Jest 抱怨”到底是什么意思?如果我理解正确的话,那就是覆盖率报告,对吧?我猜测试本身是有效的。)

    您的生产代码使用像 theme => ({ cardContent, divider, spacer }) 这样的回调作为 makeStyles() 的参数,但是您的模型确实忽略了这些参数,这样就隐藏了每个测试的回调 - 即不会有任何测试实际上对回调和他们的结果。

    覆盖率报告是正确的 - 您缺少部分测试文件。以下内容可能会提高您的代码覆盖率,但如果没有更多逻辑,我猜您最终可能会出现一些“误报”......

    jest.mock('@material-ui/styles', () => ({
      ...jest.requireActual('@material-ui/styles'),
      makeStyles: cb => () => cb({ spacing: () => 0 }),
    }))
    

    【讨论】:

      猜你喜欢
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 2020-08-16
      • 2020-08-19
      • 2021-01-17
      • 2020-07-10
      • 1970-01-01
      • 2020-01-30
      相关资源
      最近更新 更多