should 断言库判断undefined的一个问题

最近在实践should + mocha + istanbul的测试流程,在判断函数返回值的时候出现了一个问题,不知道是代码问题还是should的一个bug,如果你之前有碰到过,请给我一些解决方案或帮助信息。

const should = require('should');

const obj = {
  a: 1,
  b: 2
};

function getting(key) {
  return obj[key];
}

describe(`test/getting`, function () {
  it(`should return 1 when key is a`, function () {
    getting('a').should.equal(1);
  });
  it(`should return undefined when key is a`, function () {
    // 因为自定义函数没找到键值就返回undefined
    // 然后在should官方文档中建议这种写法判断
    (getting('a') === undefined).should.be.true;
    (getting('a') === 2).should.be.true;
  });
});

clipboard.png
这是文档地址˙:should.js

运行 mocha ./aa.js
获得了如下返回

clipboard.png

如果您有这方面的经验,希望不吝赐教!

阅读 2.5k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题