【发布时间】:2018-12-05 01:23:41
【问题描述】:
我有一个create-react-app 项目并尝试使用Jest 和Enzyme 对office-ui-fabric-react 组件进行单元测试。
最新版本的office-ui-fabric-react 使用es6 语法和jest 无法运行测试。
import { mount } from "enzyme";
import React from "react";
import { MessageBar, MessageBarType } from "office-ui-fabric-react/lib/MessageBar";
describe("<MessageBar />", () => {
it("renders message bar correctly", () => {
const wrapper = mount(<MessageBar messageBarType={MessageBarType.success} />);
expect(wrapper.find('.ms-MessageBar--success').length).toEqual(1);
});
});
这是来自 create-react-app 的 package.json 文件,添加了一些内容
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"office-ui-fabric-react": "^6.110.1",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-scripts": "2.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"devDependencies": {
"@types/enzyme": "3.1.5",
"@types/enzyme-adapter-react-16": "1.0.1",
"@types/jest": "23.0.0",
"@types/react": "16.3.16",
"@types/react-dom": "16.0.5",
"@types/react-test-renderer": "^16.0.0",
"enzyme": "^3.7.0",
"enzyme-adapter-react-16": "^1.7.0",
"jest": "^23.6.0"
}
}
create-react-app 不允许我在不弹出的情况下在package.json 中为jest 指定ani 选项。
【问题讨论】:
-
做了
npm install --save-dev babel-jest babel-core但没用 -
你实例化酶适配器了吗?
-
还要检查你的测试文件是否有
.jsx扩展名
标签: javascript reactjs npm jestjs enzyme