为什么我的Javascript代码没有通过chai中的单元测试用例

为什么我的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;

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