为什么我的Javascript代码没有通过chai中的单元测试用例
java脚本中的星型代码金字塔测试用例失败 我的输出与用Mocha编写的测试用例不匹配。可能与\n字符有关为什么我的Javascript代码没有通过chai中的单元测试用例,javascript,unit-testing,mocha.js,chai,Javascript,Unit Testing,Mocha.js,Chai,java脚本中的星型代码金字塔测试用例失败 我的输出与用Mocha编写的测试用例不匹配。可能与\n字符有关 const buildPyramid = (num) => { var stars = ''; for (var i = 1; i <= num; i++) { for (var k = 1; k <= num - i + 1; k++) { stars += ' '; } for (var j = 1; j <= i;
const buildPyramid = (num) => {
var stars = '';
for (var i = 1; i <= num; i++) {
for (var k = 1; k <= num - i + 1; k++) {
stars += ' ';
}
for (var j = 1; j <= i; j++) {
stars += '* ';
}
console.log(stars + '\n');
stars = '';
}
};
错误:1)测试-星的金字塔
奇数高度的阳性测试用例:
AssertionError:预期未定义为等于'*\n**\n***\n****\n***\n'
在Context.it(test\q1\u tards.spec.js:12:22)
2) 测试-金字塔_星
偶数高度的阳性测试用例:
AssertionError:预期未定义为等于'*\n**\n***\n****\n***\n******\n******\n'
在Context.it(test\q1\u tards.spec.js:18:22)
3) 测试-金字塔_星
阴性测试用例:
AssertionError:预期未定义为完全相等“”
在Context.it(test\q1\u pyramid\u of\u stars.spec.js:24:44)您的代码工作正常,测试也正常。这里的问题是,您的
buildPyramid
函数总是返回未定义的,因为您只是使用console.log
来输出结果
试着把它改成这样
const buildPyramid = num => {
var stars = '';
for (var i = 1; i <= num; i++) {
for (var k = 1; k <= num - i + 1; k++) {
stars += ' ';
}
for (var j = 1; j <= i; j++) {
stars += '* ';
}
stars = stars + '\n';
}
return stars;
};
const buildPyramid=num=>{
var星='';
对于(var i=1;我感谢您指出这一点。它现在工作得非常好。
const buildPyramid = num => {
var stars = '';
for (var i = 1; i <= num; i++) {
for (var k = 1; k <= num - i + 1; k++) {
stars += ' ';
}
for (var j = 1; j <= i; j++) {
stars += '* ';
}
stars = stars + '\n';
}
return stars;
};