即使结果正确,摩卡测试也会失败

时间:2018-04-17 17:14:07

标签: javascript node.js mocha

我正在进行javascript测试,但我不知道为什么会失败,因为我的所有测试都会返回正确的结果。

这是我的app.js

    const assert = require('assert');
const app = require('../app');

describe('App', function() {
  describe('SimpleTest2', function(){
      it('Empty array should return 0', function(){
          var array = [];
          let result = app(array);
          assert.equal(result,0);
      });
      it('Ignore float elements', function(){
        var array = [1.2, 2, 3];
        assert.equal(app(array),[3,2]);
      });
      it('Ignores non-numerical values in array', function(){
        var array = ['hei', 2, 3, 4, false];
        assert.equal(app(array),[4,3]);
      });          

这是我的测试

{{1}}

我收到的错误是断言错误[ERR_Asertion]。 这是我得到的一些错误:

enter image description here enter image description here

1 个答案:

答案 0 :(得分:2)

这可能是因为[ 3, 2 ] == [ 3, 2 ] = false而发生的。 (欢迎使用javascript)

我认为你所寻找的是类似于chais数组相等的东西。 这是我发现的:

尝试.eql或.deepEql而不是.equal。那时我能够得到预期的结果。

查看http://www.chaijs.com/api/bdd/#arguments-section - 这是一个非常好的参考。