jest的快照不能生成
来源:5-4 价格题目列表测试分析和编写
慕尼黑7354265
2019-12-14
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`test PriceList component should render the component to match snapshot 1`] = `ShallowWrapper {}`;
为啥最终的输出是这样子呢?
写回答
3回答
-
张轩
2019-12-16
同学你好 新版的 jest (24版本以上),使用 jest 和 enzyme 生成快照需要使用 enzyme-to-json 这个库:https://github.com/adriantoine/enzyme-to-json
132020-12-05 -
慕尼黑7354265
提问者
2019-12-15
import React from 'react' import {shallow} from 'enzyme' import PriceList from '../PriceList' import {items,categories} from '../../containers/Home' import Ionicon from 'react-ionicons' const itemsWidthCategory = items.map(item => { item.category = categories[item.cid] return item }) const props = { items:itemsWidthCategory, onModifyItem:jest.fn(), onDeleteItem:jest.fn() } describe('test PriceList component ', () => { let wrapper beforeEach(()=>{ wrapper = shallow(<PriceList {...props} />) }) it('should render the component to match snapshot',()=>{ expect(wrapper).toMatchSnapshot() }) it('should render correct price items length',()=>{ expect(wrapper.find('.list-group-item').length).toEqual(itemsWidthCategory.length) }) it('should render correct icon and price for each item',()=>{ const iconLists = wrapper.find('.list-group-item').first().find(Ionicon) expect(iconLists.length).toEqual(3) expect(iconLists.first().props().icon).toEqual(itemsWidthCategory[0].category.iconName) }) // 模拟点击 it('should trigger the correct function callbacks',()=>{ const firstItem = wrapper.find('.list-group-item').first() firstItem.find('.modify').simulate('click') expect(props.onModifyItem).toHaveBeenCalledWith(itemsWidthCategory[0]) firstItem.find('.delete').simulate('click') expect(props.onDeleteItem).toHaveBeenCalledWidth() }) });
00 -
张轩
2019-12-15
同学你好 看起来你的组件应该有点问题 是空的 你能提供一下对应的代码嘛
012019-12-15
相似问题