Jasmine JavaScript 测试 - toBe 与 toEqual
javascriptfront end technologyobject oriented programming更新于 2024/5/27 8:44:17
数组可以用 2 种方式进行比较 −
它们引用内存中的同一个数组对象。
它们可能引用不同的对象,但它们的内容都是相等的。
示例
对于情况 1,jasmine 提供了 toBe 方法。这会检查引用。 例如,
describe("数组相等", () => {
it("应该检查数组引用相等性", () => {
let arr = [1, 2, 3];
let arr2 = arr
// 成功运行
expect(arr).toBe(arr2);
// 由于引用不相等而失败
expect(arr).toBe([1, 2, 3]);
});
});
输出
这将给出输出 −
1) 数组相等性应该检查数组相等性 消息: 预期 [ 1, 2, 3 ] 为 [ 1, 2, 3 ]。提示:要检查深度相等性,请使用 .toEqual() 而不是 .toBe()。
示例
对于情况 2,我们可以使用 toEqual 方法并深度比较数组。例如,
describe("数组相等性", () => {
it("应该检查数组引用相等性", () => {
let arr = [1, 2, 3];
let arr2 = arr;
// 成功运行
expect(arr).toEqual(arr2);
// 成功运行
expect(arr).toEqual([1, 2, 3]);
});
});
输出
这将给出输出 −
1 spec, 0 failures
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

