跳转到内容

测试

编写测试能够预防回归问题,并能够带来更好的代码。

用户空间

通常情况下,我们建议测试应用程序时不要将测试程序与 Material-UI 捆绑得太紧。 这就是 Material-UI 组件内部的测试方式。 A library that has a first-class API for this approach is @testing-library/react.

例如,当渲染 TextField 时,你的测试用例不应该查询有关 TextField 的特定 Material-UI 实例,而是应该查询 input[role="textbox"]

通过不依赖 React 组件树的方式,你可以使你的测试应对 Material-UI 的内部变化时变得更加健壮,或者如果你需要快照测试时,也可以添加额外的包装器组件,如上下文提供器。 我们不建议进行快照测试。 "Effective snapshot testing" by Kent C. Dodds 详细介绍了为什么快照测试可能会对 React 组件测试产生误导。

内部

MUI has a wide range of tests so we can iterate with confidence on the components, for instance, the visual regression tests provided by Argos-CI have proven to be really helpful. 若您想要进一步了解内部测试,您可以查看一下 README