我正在从测试中调用一个函数,但是我一直找回一个空数组。如何传递回数组结果以便检查?
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]
,但无济于事。
这是您的for循环。
更改:
for (let i = 0; i++; i <= numbers) {
result.push(i);
}
至:
for (let i = 0; i <= numbers;i++) {
result.push(i);
}
注意订单。