开玩笑覆盖问题

时间:2018-03-05 13:32:49

标签: reactjs unit-testing jest

我几天前开始和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`);`);

1 个答案:

答案 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
`);