gpt4 book ai didi

javascript - 即使结果正确,Mocha 测试也会失败

转载 作者:行者123 更新时间:2023-12-01 02:08:58 24 4
gpt4 key购买 nike

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

这是我的 app.js

module.exports = function (array){
var firstBigNumber = 0;
var secondBigNumber = 0;

if(array.length === 0) return 0;

for(var index = 0; index < array.length; index++){

if(parseInt(array[index]) === array[index]){
if(array[index] > 0){
if(array[index] > firstBigNumber){
secondBigNumber = firstBigNumber;
firstBigNumber = array[index];
}else if (array[index] > secondBigNumber) {
secondBigNumber = array[index];
}
}
}
else{
secondBigNumber = 0;
firstBigNumber = 0;
}
}
return [firstBigNumber,secondBigNumber];
}

这是我的测试

    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]);
});

我收到的错误是断言错误 [ERR_Asertion]。以下是我遇到的一些错误:

enter image description here enter image description here

最佳答案

这很可能发生,因为[ 3, 2 ] == [ 3, 2 ] = false。 (欢迎使用 JavaScript)

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

尝试使用 .eql 或 .deepEql 而不是 .equal。然后我就得到了预期的结果。

查看http://www.chaijs.com/api/bdd/#arguments-section - 虽然是柴,但确实是一个很好的引用。

关于javascript - 即使结果正确,Mocha 测试也会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49883892/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com