开玩笑:错误:您的测试套件必须包含至少一个测试

时间:2016-08-24 19:24:53

标签: javascript unit-testing testing jestjs

我正在实施jest来测试我的React应用程序,并对我拥有的实用程序函数设置了一个简单的测试,但是我收到了错误:

  

错误:您的测试套件必须包含至少一个测试。

检查了我的实施情况,我认为一切都是正确的 - 有人可以看一下吗?

测试和功能的文件结构如下

- __tests__
  -- sumObjectValues-test.js
- utils
  -- sumObjectValues.js

sumObjectValues.js如下:

const sumObjectValues = (obj, identifier) => {
    return obj
        .map((el) => { return el[identifier]; })
        .reduce((prev, next) => { return prev += next; }, 0);
}

export default sumObjectValues;

和sumObjectValues-test.js:

   const obj = [
    {
        "id": 0,
        "item": "Tesla Model S",
        "amount": 85000
    },
    {
        "id": 1,
        "item": "iPhone 6S",
        "amount": 600
    },
    {
        "id": 2,
        "item": "MacBook Pro",
        "amount": 1700
    }
];

const identifier = "amount";


jest.unmock('../client/utils/sumObjectValues'); // unmock to use the actual implementation of sumObjectValues

describe('sumObjectValues', () => {
    if('takes an array of objects, each with amount values, & sums the values', () => {
        const sumObjectValues = require('../client/utils/sumObjectValues');
        expect(sumObjectValues(obj, identifier)).toBe(87300);
    });
});

然后我的package.json脚本中有"test": "jest",但出现以下错误:

  

FAIL 测试 /sumObjectValues-test.js(0s)●运行时错误      - 错误:您的测试套件必须包含至少一个测试。           在onTestResult(node_modules / jest-cli / build / TestRunner.js:143:18)1个测试套件   失败,0测试通过(1个测试套件共0个,运行时间13.17秒)npm   呃!测试失败。有关详细信息,请参见上文。

全部谢谢:)

* it中有拼写错误,但在修复后我收到了新错误:*

  

FAIL 测试 /sumObjectValues-test.js(321.763s)●sumObjectValues>   它需要一组对象,每个对象都有数值,&总结   values - TypeError:sumObjectValues不是函数   宾语。 (测试 /sumObjectValues-test.js:27:10)1测试   失败,0测试通过(1个测试套件共1个,运行时间344.008s)   错误的ERR!测试失败。有关详细信息,请参见上文。

2 个答案:

答案 0 :(得分:2)

if('takes an array of objects, each with amount values, & sums the values', () => {

应该

it('takes an array of objects, each with amount values, & sums the values', () => {

答案 1 :(得分:1)

如果您认为以后要编写测试, 您可以这样忽略它们

test.skip('skip', () => {});