跳转到内容

测试

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

用户空间

通常情况下,我们建议测试应用程序时不要将测试程序与 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 组件测试产生误导。

内部

Material UI 的 测试范围 很广,因此我们有信心 对组件进行迭代,例如,Argos-CI 提供的可视化回归测试已被证明非常有用。 若您想要进一步了解内部测试,您可以查看一下 README