使用反应测试库和茉莉花

时间:2019-02-13 12:24:49

标签: reactjs unit-testing jasmine react-testing-library

我正在与react-testing-library一起玩,看看我们是否应该在项目中使用它。我们使用jasmine代替jest。我想知道react-testing-library是否可以与jasmine一起使用(应该没问题...)

我看到的大多数示例都是关于jest的。将react-testing-libraryjasmine一起使用是否有任何警告?有例子吗?

谢谢

1 个答案:

答案 0 :(得分:1)

react-testing-library与茉莉花或其他替代品一起使用时的问题在于,react-testing-library呈现的组件与它们在浏览器中的行为紧密相关。与酶不同,react-testing-library不能为孤立的和细粒度的测试(如浅层渲染)以及访问组件内部(如props)提供功能。

期望所有不应该按原样呈现的组件都应该被模拟(这里是Jest example),react-testing-library没有为其提供任何功能,它们被模拟的方式是开发人员的酌处权。 Jasmine没有提供模拟模块的方法,需要使用rewire之类的第三方解决方案。 Jest提供了用于模块模拟的功能,包括与babel-jest一起使用时import到提升模块模拟的转换。

react-testing-library使用DOM。如果在Node中运行测试,则应该使用JSDOM。 Jest本机设置JSDOM,而开发人员则需要使用Jasmine手动设置它。最好在Node中而不是在浏览器中运行测试,因为由于Node require的工作方式,可以动态模拟模块。