使用jest调用另一个函数的函数的单元测试

时间:2018-06-11 14:55:19

标签: reactjs function unit-testing ecmascript-6 jestjs

我是Jest的新手并且在编写单元测试时遇到了一些问题。 我的函数是使用一些参数调用另一个匿名函数。

你可以帮我解决一下吗?

const myFunctionToTest = (code, data) => (isValid, availableCodes, defaultValue) => {
    if(isValid) {
        const isAvailableCode = isEmpty(availableCodes) || includes(availableCodes, code);
        return isAvailableCode ? get(data, 'originalQty') : defaultValue;
    }   
    return defaultValue;
};

这是模拟数据:

模拟数据:

code: 'AB'
data: { originalQty : 2 };
isValid: true;
availableCodes: ['BCD', 'AB'];
defaultValue: 0;

我尝试了什么!

describe('myFunctionToTest', () => {
  test('it should return originally assigned quantity', () => {
    const result = myFunctionToTest('AB', { originalQty: 2 } , () => {true, ['BCD', 'AB'], 0});
    expect(result).toEqual(2);
  });
});

1 个答案:

答案 0 :(得分:0)

好的,我明白了。 这就是我的尝试!

describe('myFunctionToTest', () => {
  test('it should return originally assigned quantity', () => {
    const result = myFunctionToTest('AB', { originalQty: 2 });
    expect(result(true, ['BCD', 'AB'], 0).toEqual(2);
  });
});