我正在努力测试简单的组件(功能型),通过改变输入值应该改变组件状态中的var,通过onChange事件.Seems like as the state and functions are encapsulated in the component, testing-library is more suitable.Make sense?Is there any rulesguidelines for when to use which?Thanks.
对组件的状态等实现细节进行断言,这有违React测试库的原则。
相反,该库建议你编写与用户如何与你的代码交互非常相似的测试。
从 文件:
我们尽量只公开一些方法和实用程序,鼓励你编写与网页使用方式非常相似的测试。
有什么规则指引何时使用哪种方法吗?
这可能是一个有点主观的话题,可能会因你在哪个团队工作而大相径庭。
就我个人而言,我从只使用Enzyme(特别是 shallow
渲染)到只使用React测试库,这就是发生的事情。
clicking this button should display that message
而不是 component x should have correct prop y
.我相信Enzyme可以做很多React测试库所做的事情,但是,我建议至少要远离 shallow
渲染。这不是一个好的做法
我仍然没有找到Enzyme解决了React测试库没有解决的问题的用例。但这并不意味着它不存在。只是意味着RTL目前很适合我。