Sai*_*Ram 10 reactjs jestjs reactjs-testutils enzyme
什么是目的的任何文档adapter的enzyme测试库。
import { configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
configure({ adapter: new Adapter() });
Run Code Online (Sandbox Code Playgroud)
Bri*_*ams 12
什么是目的的任何文档
adapter的enzyme测试库。
最接近的是说“您需要安装酶以及与您正在使用的 react(或其他 UI 组件库)版本相对应的适配器”。
文档大多只是解释如何配置 anadapter而没有真正谈论它的目的。
酶中的接头是什么
精简版
该enzymeAPI是不管的版本相同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调用,其中您传递的内容实际上是使用Reactv16 语法呈现的。
getAdapter在ReactWrapper.js中搜索显示到处adapter都用于抽象出在使用时基于React版本更改的功能mount......
...并getAdapter在ShallowWrapper.js中搜索显示所有adapter用于抽象功能的地方,这些功能React在使用shallow.
| 归档时间: |
|
| 查看次数: |
2914 次 |
| 最近记录: |