js-如何将数组结果传递回mocha?

问题描述 投票:-2回答:1

我正在从测试中调用一个函数,但是我一直找回一个空数组。如何传递回数组结果以便检查?

  AssertionError: expected [ [] ] to equal [ 1, 2 ]
  + expected - actual

   [
  -  []
  +  1
  +  2
   ]

测试:

var FB = require('../fizz_buzz');
var fizz_buzz = FB.fizz_buzz;
var chai = require('chai')
var expect = chai.expect;

describe('Basic Mocha Test', function () {
  it('should be able to call the fizz_buzz function', function () {
    let result = fizz_buzz()
    expect(result).to.exist
  });
  it('should call fizz_buzz with 1 and get an array', function () {
    let result = fizz_buzz(1)
    console.log(result);
    expect(result).to.be.a('Array')
    expect(result).to.have.lengthOf(1)
  });
  it('should call fizz_buzz with 2 and get 1,2', function () {
    let result = fizz_buzz(2)
    console.log(result);
    expect(result).to.equal([1,2]);
  });
});

代码:

module.exports.fizz_buzz = function(numbers) {
  let result = []; 
  for (let i = 0; i++; i <= numbers) {
    result.push(i);
  }
  return [result]

输出每次都会显示一个空白数组,似乎是将数组传回的一个问题,我尝试了result[result][...result],但无济于事。

javascript ecmascript-6 mocha chai
1个回答
0
投票

这是您的for循环。

更改:

for (let i = 0; i++; i <= numbers) {
    result.push(i);
}

至:

for (let i = 0; i <= numbers;i++) {
    result.push(i);
}

注意订单。

© www.soinside.com 2019 - 2024. All rights reserved.