Javascript 即使结果正确,摩卡测试也会失败
我正在做一个javascript测试,我不知道为什么会失败,因为我所有的测试都返回正确的结果 这是我的app.jsJavascript 即使结果正确,摩卡测试也会失败,javascript,node.js,mocha.js,Javascript,Node.js,Mocha.js,我正在做一个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++){
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\u Asertion]。
以下是我的一些错误:
这很可能发生,因为
[3,2]=[3,2]=false
。(欢迎使用javascript)
我想你要找的东西和查伊斯的相似。
以下是我的发现:
尝试.eql或.deepEql而不是.equal。那时我能够得到预期的结果
查看-这是一个很好的参考资料。这很可能是因为
[3,2]=[3,2]=false
。(欢迎使用javascript)
我想你要找的东西和查伊斯的相似。
以下是我的发现:
尝试.eql或.deepEql而不是.equal。那时我能够得到预期的结果
查看-这是一个非常好的参考。你应该使用
assert.deepstriefqual()
而不是assert.equal()
:是的,它工作了,谢谢你你应该使用assert.deepstriefqual()
而不是assert.equal()
:是的,谢谢你javascript的有趣之处。讽刺是有意的。javascript中相当有趣的一面。讽刺是有意的。