无论我做什么,当chai测试失败时,我总是得到一个堆栈跟踪。我正在使用chai.config.includeStack = false,您可以在下面的jsfiddle中看到。我试过chai.Assertion.includeStack = false,也是。
http://jsfiddle.net/rhedin/2kk09jka/6/
mocha.setup('bdd');
chai.should();
chai.config.includeStack = false;
describe('"slow tests" of the ACPU', function () {
var expect = chai.expect;
chai.config.includeStack = false;
chai.Assertion.includeStack = false;
it('should say that true is true when I just say so', function () {
expect(true).to.equal(false);
});
});
mocha.run();
谁能告诉我发生了什么?
感谢。
答案 0 :(得分:3)
如果执行相等测试,Chai似乎不会打开或关闭整个堆栈。但是,如果您检查虚假,可以关闭整个堆栈。试试这段代码:
mocha.setup('bdd');
var expect = chai.expect;
var assert = chai.assert;
chai.should();
describe('includeStack false', function () {
before(function () {
chai.config.includeStack = false;
});
it('expect equal', function () {
expect(true).to.equal(false);
});
it('assert equal', function () {
assert.equal(true, false);
});
it('should equal', function () {
true.should.equal(false);
});
it('expect', function () {
expect(true).to.be.false;
});
it('assert', function () {
assert.isFalse(true);
});
it('should', function () {
true.should.be.false;
});
});
mocha.run();
前3个测试将有一个堆栈跟踪。最后3次测试没有堆栈跟踪。我找不到文档或问题报告来解释为什么会这样。