我在单元测试结果中为属性“ false”获得了TypeError不确定的信息

时间:2019-05-17 17:37:10

标签: node.js mocha chai

我正在与Mocha和Chai学习单元测试。我通过了大多数测试,但有1项测试因TypeError失败:无法读取未定义的属性'false'。

我在调用加法器时尝试添加第三个参数“ input [2]”,但仍然遇到相同的错误。

const adder = (a, b) => {
  if (!(typeof a === 'number' && typeof b === 'number')) {
    throw Error('Oh no!');
  }
  return a + b;
}

module.exports = adder;


const expect = require('chai').expect;
const adder = require('../adder');

describe('adder', () => {
  it('should add two numbers', () => {
    const useCases = [
      {
        a: 2,
        b: 3,
        expected: 5
      },
      {
        a: 100,
        b: 1000,
        expected: 1100
      },
      {
        a: 10,
        b: -15,
        expected: -5
      }
    ];

    useCases.forEach(function (input) {
      const answer = adder(input.a, input.b);
      expect(answer).to.equal(input.expected);
    });
  });

  it('should give error if input not numbers', function () {
    const notNumbers = [
      ['a', 1,]
      ['b', 2]
      [2, false]
    ];
    notNumbers.forEach(function (input) {
      expect(function () {
        adder(input[0], input[1]);
      }).to.throw(Error);
    });
  });
});

部分预期结果通过了,“它加上了两个数字” 加法器     √应加两个数字     1)如果输入的不是数字,应该给出错误

1)加法器        如果输入的不是数字,则应该给出错误:      TypeError:无法读取未定义的属性“ false”       在上下文。 (test \ test-adder.js:34:7)

0 个答案:

没有答案