当测试失败时,chai总是给我一个堆栈跟踪。即使我说chai.config.includeStack = false

时间:2015-01-18 19:49:33

标签: mocha chai

无论我做什么,当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();

谁能告诉我发生了什么?

感谢。

1 个答案:

答案 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次测试没有堆栈跟踪。我找不到文档或问题报告来解释为什么会这样。