测试
编写测试以防止回归并编写更好的代码。
用户空间
通常建议在测试应用程序时,不要将测试与 Material UI 过于紧密地联系起来。Material UI 组件内部就是这样测试的。对于这种方法,一个具有一流 API 的库是 @testing-library/react
。
例如,当渲染 TextField
时,您的测试不应需要查询 TextField
的特定 Material UI 实例,而是查询 input
或 [role="textbox"]
。
通过不依赖 React 组件树,您可以使您的测试更强大,以应对 Material UI 的内部更改,或者,如果您需要快照测试,可以添加额外的包装器组件,例如上下文提供程序。尽管如此,我们不建议快照测试。Kent C. Dodds 的“有效的快照测试”更详细地介绍了为什么快照测试可能会误导 React 组件测试。
内部
我们对 Material UI 进行了广泛的测试,因此我们可以自信地迭代组件,例如,Argos 提供的视觉回归测试已被证明非常有用。要了解有关内部测试的更多信息,您可以查看README。