材质UI反应测试自定义样式

时间:2020-06-16 14:01:54

标签: reactjs material-ui react-testing-library

我正在努力提出一种明智的方法,断言在指定给定道具时将给定样式添加到Material-UI组件中

import makeStyles from "@material-ui/core/styles/makeStyles";

const useStyles = makeStyles({
  myRoot: props => props.inverse && {
    border: "2px solid red",
  },
})

const MyTextInput = ({ inverse, ...otherProps }) => {
  const classes = useStyles({ inverse });
  return (
    <TextField
      label="Standard secondary"
      color="secondary"
      classes={{
        root: classes.myRoot,
      }}
    />
  );
}


// with inverse
<MyTextInput
  label="Standard secondary"
  color="secondary"
  inverse={true}
/>

// without inverse prop
<MyTextInput
  label="Standard secondary"
  color="secondary"
/>

是否有一种明智的方法来测试是否应用了正确的课程?

我注意到当我多次渲染组件时,className +一个数字将被添加到所有实例中,例如makeStyles-myRoot-*

是否可以确认已应用正确的样式?

如果有帮助,我正在使用react-testing-library

0 个答案:

没有答案