什么是目的的任何文档adapter
的enzyme
测试库。
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
什么是目的的任何文档adapter
的enzyme
测试库。
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
什么是目的的任何文档
adapter
的enzyme
测试库。
最接近的是说“您将需要安装酶以及与您正在使用的 react(或其他 UI 组件库)版本相对应的适配器”。
文档主要只是解释如何配置一个adapter
,并没有真正谈论它的目的。
酶中的接头是什么
简洁版本
该enzyme
API是不管的版本相同React
,你正在使用,但如何React
呈现和交互什么取决于呈现的变化React
版本。
该adapter
抽象了改变基础上,任何React
版本,因此核心enzyme
代码保持不变。
详细版
mount
并且shallow
都从enzyme
. 让我们专注于mount
.
mount
是一个只返回一个 newReactWrapper
的函数。
ReactWrapper
提供熟悉的包装对象与instance
,setState
,find
等。
无论React
您使用的是哪个版本,所有这些功能的实现都是相同的......
...但是因为React
多年来它本身已经发生了变化,任何基于React
版本变化的实现细节都被一个适配器抽象掉了。
适配器是通过调用检索的getAdapter
,第一次使用它是验证传递给的节点mount
,然后创建renderer
以实际呈现节点。
对于enzyme-adapter-react-16.3
该调用createRenderer
获取路由到this.createMountRenderer
和内部,createMountRenderer
您可以看到熟悉的ReactDOM.render
调用,其中您传递的内容实际上是使用React
v16 语法呈现的。
getAdapter
在ReactWrapper.js中搜索显示到处adapter
都用于抽象出在使用时基于React
版本更改的功能mount
......
...并getAdapter
在ShallowWrapper.js中搜索显示所有adapter
用于抽象功能的地方,这些功能React
在使用shallow
.