Tob*_*oby 36 testing reactjs enzyme
我正在使用Enzyme for React 编写测试.
我的测试非常简单:
import OffCanvasMenu from '../index';
import { Link } from 'react-router';
import expect from 'expect';
import { shallow, mount } from 'enzyme';
import sinon from 'sinon';
import React from 'react';
describe('<OffCanvasMenu />', () => {
it('contains 5 <Link /> components', () => {
const wrapper = shallow(<OffCanvasMenu />);
expect(wrapper.find(<Link />)).to.have.length(5);
});
});
Run Code Online (Sandbox Code Playgroud)
此代码基本上直接来自airbnb/enzyme docs,但返回错误:
FAILED TESTS:
<OffCanvasMenu />
? contains 5 <Link /> components
Chrome 52.0.2743 (Mac OS X 10.11.6)
TypeError: Cannot read property 'have' of undefined
Run Code Online (Sandbox Code Playgroud)
我有点不清楚我在做什么与文档不同.任何指导都非常感谢.
Ori*_*ori 18
使用Link而不是<Link />:
describe('<OffCanvasMenu />', () => {
it('contains 5 <Link /> components', () => {
const wrapper = shallow(<OffCanvasMenu />);
expect(wrapper.find(Link)).to.have.length(5);
});
});
Run Code Online (Sandbox Code Playgroud)
它出现在airbnb/enzyme docs的第一个例子中:
it('should render three <Foo /> components', () => {
const wrapper = shallow(<MyComponent />);
expect(wrapper.find(Foo)).to.have.length(3);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24176 次 |
| 最近记录: |