reactjs - 在“create-react-app”应用程序中使用 Enzyme 对 React/Redux 进行单元测试
问题描述
我想对使用“create-react-app”包创建的应用程序进行一些基本的单元测试。我相信它已经安装了 Jest。
我的应用中有一些基本的 redux 代码。
我想测试:
它呈现主要组件(App.js)而不会崩溃
点击显示下一项功能
我已经使用“npm install --save-dev 酶”和“enzyme-adapter-react-15”安装了 Enzyme。
这是我的代码:
import React from 'react';
import ReactDOM from 'react-dom';
import {App} from './App';
import { shallow, mount, render, configure } from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';
configure({ adapter: new Adapter() });
describe('A test for App component', () => {
let wrapper
beforeEach(()=>{
wrapper = shallow(<App />);
})
it('should render App Component', () => {
expect(wrapper).to.have.length(1)
})
})
我无法让测试开始工作。错误信息:
TypeError: Cannot read property 'length' of undefined
和
TypeError: Cannot read property 'have' of undefined
我认为我做错了一些基本的事情。
任何帮助表示赞赏!
解决方案
您可能从酶网站上的示例中复制了它,该网站使用了 chai。您要测试的开玩笑等价物是:
it('should render App Component', () => {
expect(wrapper).toHaveLength(1)
})
推荐阅读
- optimization - 作业车间调度问题中的设置时间
- activerecord - yii2中字段为表达式时获取activerecord相关字段值
- java - 使用java在树中添加多个孩子
- python - PIP3 与错误的 python 版本相关联
- windows-10 - Git Bash 命令被勒索软件保护阻止
- c - 可能使某些应用程序崩溃的最小字符串长度
- typescript - 打字稿 | 通过引用调用函数不起作用
- python - 视图 ProjectManagementapp.views.product_insert_view 没有返回 HttpResponse 对象。它返回 None 而不是
- javascript - rss 格式不正确(无效令牌) - ReactJS
- flutter - 如何将数据传递给有状态的小部件