gpt4 book ai didi

mocha.js - 使用 Mocha 在 Karma 中的深度差异测试失败

转载 作者:行者123 更新时间:2023-12-04 14:58:14 24 4
gpt4 key购买 nike

我正在运行以下测试:

describe("objects", function () {
it("should equal", function () {
var a = {
a: 1,
b: 2,
c: {
a: 1,
b: 2,
c: {
a: 1,
b: 2,
x: 3
}
}
};

var b = {
a: 1,
b: 2,
c: {
a: 1,
b: 2,
c: {
a: 1,
b: 2,
x: 4
}
}
};
a.should.deep.equal(b);
});
});

测试按预期失败,但错误消息根本没有帮助。
AssertionError: expected { Object (a, b, ...) } to deeply equal { Object (a, b, ...) }
我如何得到它以便它输出一个漂亮的 json 比较?

我目前使用的库:
  • karma 0.12.1
  • karma Mocha 0.1.6
  • karma Mocha 记者 0.3.0
  • karma Chai 0.1.0
  • 最佳答案

    您可以使用以下内容更改消息被截断的位置:
    chai.config.truncateThreshold = 0
    所以对于你的例子:

    var chai = require('chai');
    var expect = chai.expect;

    chai.config.truncateThreshold = 0;

    describe.only("objects", function () {
    it("should equal", function () {
    var a = {
    a: 1,
    b: 2,
    c: {
    a: 1,
    b: 2,
    c: {
    a: 1,
    b: 2,
    x: 3
    }
    }
    };

    var b = {
    a: 1,
    b: 2,
    c: {
    a: 1,
    b: 2,
    c: {
    a: 1,
    b: 2,
    x: 4
    }
    }
    };
    expect(a).to.deep.equal(b);
    });
    });

    这将导致:
    AssertionError: expected { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 2, x: 3 } } } to deeply equal { a: 1, b: 2, c: { a: 1, b: 2, c: { a: 1, b: 2, x: 4 } } }
    + expected - actual

    "b": 2
    "c": {
    "a": 1
    "b": 2
    + "x": 4
    - "x": 3
    }
    }
    }

    关于mocha.js - 使用 Mocha 在 Karma 中的深度差异测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437948/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com