首页 > 解决方案 > 赛普拉斯:json 字段比较的断言错误

问题描述

我正在尝试对 json 进行断言。基本上我必须比较两个json:

        cy.get('h4#idParameters').each(($e, index, $list) => {
            const text = $e.text()
            expect(text).to.eq(parameters)

        })

但我收到以下错误:

在此处输入图像描述

在断言中,如果我使用“contain”而不是“eq”,结果不会改变

标签: jsonautomated-testscypress

解决方案


第一个参数中的“:”字符后有一个空格。这些字符串不相等。

如果要将其作为字符串进行比较,请确保它没有多余的空格、点或顺序不同。

但更好的方法是作为 JSON 进行比较。一种有趣的方法应该是使用deep-equal-in-any-order插件。这个插件独立于它的顺序比较对象。但首先确保将 JSON 字符串转换为对象。


推荐阅读