Isa*_*tte 4 reactjs jest react-native enzyme
尝试使用笑话和酶测试我的本机应用程序,如下所示。
import 'react-native';
import React from 'react';
import renderer from 'react-test-renderer';
import { shallow } from 'enzyme';
import { SignUp } from '../../src/pages';
describe('Testing SignUp component', () => {
it('renders as expected', () => {
const wrapper = shallow(
<SignUp />
);
expect(wrapper).toMatchSnapshot();
});
});
Run Code Online (Sandbox Code Playgroud)
在运行npm test 我得到错误Cannot find module 'enzyme/build/ShallowTraversal' from 'shallow.js'
测试套件无法运行。
请注意,已完成测试的负酶正常运行
test('SignUp Page renders correctly', () => {
const tree = renderer.create(<SignUp />).toJSON();
expect(tree).toMatchSnapshot();
});
Run Code Online (Sandbox Code Playgroud)
有什么事吗
刚安装首先解决了这个问题enzyme-to-json;npm install --save-dev enzyme-to-json
导入toJson我的test_file.js内部
import 'react-native';
import React from 'react';
import renderer from 'react-test-renderer';
import { shallow } from 'enzyme';
import toJson from 'enzyme-to-json'; //added this line
Run Code Online (Sandbox Code Playgroud)
将测试更改为此
describe('Testing SignUp component', () => {
it('renders as expected', () => {
const wrapper = shallow(
<SignUp />
);
expect(toJson(wrapper)).toMatchSnapshot(); //edited this line
});
});
Run Code Online (Sandbox Code Playgroud)
snapShotSerializers在package.json中更改
"preset": "react-native",
"collectCoverage": true,
"collectCoverageFrom": [
"**/src/**.{js,jsx}"
],
"snapshotSerializers": ["enzyme-to-json/serializer"] //added this line
Run Code Online (Sandbox Code Playgroud)
现在我的测试运行正常。
| 归档时间: |
|
| 查看次数: |
3064 次 |
| 最近记录: |