javascript - 为什么我的模拟商店不能在 Jest/Enzyme 上运行?
问题描述
根据 Jest 测试日志,我缺少第 67 行的覆盖范围,该覆盖范围出现在下面的代码块中
export default compose(
connect(store => ({ // LINE 67
accountGuid: store.global.accountGuid,
shipmentsCSV: store.shipments.shipmentsCSV,
})),
translate(),
)(DownloadCSVItem);
这是我对该组件的测试:
import React from 'react';
import { mount } from 'enzyme';
import DownloadCSVItem from '../../DownloadCSVItem';
import createMockStore from '../../../../utils/createMockStore';
describe('DownloadCSVItem component', () => {
let props;
beforeEach(() => {
props = {
t: k => k,
accountGuid: 'abcd-1234',
shipmentsCSV: {
itemsCount: 2,
shipments: [
{
Courier: 'Hand Delivery',
Note: 'Testing the data transfer request system. ',
},
{
Courier: null,
Note: null,
},
],
},
};
});
it('renders DownloadCSVItem and check if class exists', () => {
const wrapper = mount(
<DownloadCSVItem.WrappedComponent {...props}
store={createMockStore({
global: { accountGuid: props.accountGuid },
shipments: {
totalCount: props.shipmentsCSV.itemsCount,
shipments: props.shipmentsCSV.shipments,
},
})}
/>,
);
expect(wrapper.find('button')).toHaveLength(1);
});
});
我编写了那个测试并运行了命令来测试它,它仍然说第 67 行的覆盖范围丢失了。
在这种情况下我该怎么办?
解决方案
推荐阅读
- android - asyntask 片段上的适配器错误
- javascript - 如何在 html 中找到用于数据验证的正则表达式匹配?
- dialogflow-es - 如何导出代理Dialogflow的特定环境
- c# - 如何留下孤立数据?
- node.js - 字典 Node.js 中的无法定位值
- laravel - Laravel注册用户时如何设置Remember Token?
- amazon-dynamodb - AWS DynamoDB 扫描
- php - 如何创建简码函数来在页面中运行脚本?
- paypal - 无法使用个人帐户为我的 PayPal 创建沙盒/测试帐户
- python - 如何从字典中搜索列表中的特定字符串并在mongodb中返回包含该字符串的所有元素?