我正在与react-testing-library一起玩,看看我们是否应该在项目中使用它。我们使用jasmine
代替jest
。我想知道react-testing-library
是否可以与jasmine
一起使用(应该没问题...)
我看到的大多数示例都是关于jest
的。将react-testing-library
与jasmine
一起使用是否有任何警告?有例子吗?
谢谢
答案 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
的工作方式,可以动态模拟模块。