如何使用 should.js 显式地使单元测试失败

How do I explicitly fail a unit test using should.js

我正在使用 Mocha and Should.js 来测试我预计会产生错误的承诺。

因为是promise,我不信可以简单的用should.throwError()。这只是意味着我想在 promise 的 .catch 块中使单元测试失败。

如何在不使用像 1.should.equal(2) 这样的愚蠢 hack 的情况下明确地使单元测试失败?

示例代码(不起作用)

it('should throw an error.', function(done) {
  myPromiseGenerator().then(function() {
    should.fail();
    done();
  }).catch(function(e) {
    done();
  })
}

将错误传递给 done 函数。

it('should throw an error.', function(done) {
  myPromiseGenerator().then(function() {
    done(new Error("should not succeed"));
  }).catch(function(e) {
    done();
  })
}