我正在测试一个 React 应用程序,它基本上遵循了标准的、官方祝福的create-react-app
设置。
我写了我的测试如下:
import React from 'react';
import {shallow} from 'enzyme';
import MyComponent from './MyComponent';
describe('MyComponent', () => {
it('should have the expected properties', () => {
const wrapper = shallow(<MyComponent/>);
expect(wrapper.props()).toMatchObject({a: 1});
});
});
我的 package.json 包含以下内容:
{
...
"devDependencies": {
"enzyme": "^2.6.0",
"react-scripts": "0.8.3",
...
},
"dependencies": {
"react": "^15.4.1",
...
},
"scripts": {
"test": "react-scripts test --env=jsdom",
...
},
"jest": {
"automock": false
}
}
当我运行测试时,我收到以下错误消息:TypeError: expect(...).toMatchObject is not a function
.
但是,react-scripts 文档指出 Jest 是使用的内置工具之一,例如我不必这样做npm install
。Jest 文档清楚地表明这是toMatchObject
一个函数。
那么为什么我会收到此错误消息?