用material-ui在Jest中进行快照测试的问题

时间:2019-06-12 08:30:40

标签: reactjs jestjs material-ui

自从我升级到Material UI的v4版本以来,快照测试中的类名出现了问题。 意思是,类名要么不确定,要么计数器有问题。

我在v3中从未遇到过此问题,并且我没有使用withStyles,后者似乎与其他人与此问题有关。

我在Github上看到了不同的问题(例如,使用JssProvider或浅层渲染),但我不想为此特定问题添加依赖项。

    - Snapshot
    + Received

    @@ -1,7 +1,7 @@
      <button
-   className="MuiButtonBase-root MuiButton-root MuiButton-containedPrimary MuiButton-contained"
+   className="MuiButtonBase-root MuiButton-root MuiButton-contained MuiButton-containedPrimary"

-         className="PrivateNotchedOutline-legend-36"
+         className="PrivateNotchedOutline-legend-37"
  • 我希望仅在更改组件后,类名才会更改。
  • 它似乎是随机变化的。

1 个答案:

答案 0 :(得分:0)

发生类似的情况,即MuiButtonBase-root会在不同时间在不同页面上加载,有时会覆盖诸如MuiButton包含的内容,这会破坏颜色和填充。这似乎是完全随机的。

在使用package.json中特定版本的“ @ material-ui / core”库重新运行Yarn之后,此操作停止了。例如,如果@ material-ui / core的条目如下所示:

"dependencies" : {
    "@material-ui/core": "^4.1.3",

删除初始插入符号(^),如下所示:

"dependencies" : {
    "@material-ui/core": "4.1.3",

当症状停止时,我正在下面的链接中浏览建议。

  1. https://material-ui.com/getting-started/faq/#react-class-name-hydration-mismatch
  2. Material UI v4 makeStyles exported from a single file doesn't retain the styles on refresh