我几天前开始和Jest合作,我试图获得100%的报道,但我有一个简单的问题,我无法解决。
以下是Jest Coverage的例子
File |% Stmts |% Branch |% Funcs | % Lines | Uncovered Line #s |
src/lib | 66.67 | 0 | 10 | 100 | |
theme.js | 66.67 | 0 | 10 | 100 | 64,81 |
因此,我找到了第64行和第81行。以下是样式组件的简单函数。
export const fontSize = (fontSize, lineHeight) => (`
font-size: ${fontSize}px;
line-height: ${lineHeight ? `${lineHeight}px` : '1.1'}; // that's 64
`);
export const gradient = (gradType, gradDirection, gradStart, gradEnd) => (`
background: ${gradType}-gradient(${gradType === 'linear' ? gradDirection+',' : ''} ${gradStart}, ${gradEnd}); // that's 81
`);
我该如何测试它们?我试过这个,但仍然得到64和81发现的信息。
const grad = {
gradType: 'linear',
gradDirection: 'toTop',
gradStart: '#000000',
gradEnd: '#ffffff',
};
expect(`background:${grad.gradType}-gradient(${grad.gradType === 'linear' ? grad.gradDirection+',' : ''}${grad.gradStart},${grad.gradEnd});`)
.toEqual(`background:linear-gradient(toTop,#000000,#ffffff`);`);
答案 0 :(得分:0)
为了测试你的功能,你必须把它叫做:
// theme.test.js
const { fontSize } = require('./theme');
expect(fontSize('size', 'height')).toBe(`
font-size: sizepx;
line-height: heightpx; // that's 64
`);
expect(fontSize('size', null)).toBe(`
font-size: sizepx;
line-height: 1.1; // that's 64
`);