json - 赛普拉斯:json 字段比较的断言错误
问题描述
我正在尝试对 json 进行断言。基本上我必须比较两个json:
cy.get('h4#idParameters').each(($e, index, $list) => {
const text = $e.text()
expect(text).to.eq(parameters)
})
但我收到以下错误:
在断言中,如果我使用“contain”而不是“eq”,结果不会改变
解决方案
第一个参数中的“:”字符后有一个空格。这些字符串不相等。
如果要将其作为字符串进行比较,请确保它没有多余的空格、点或顺序不同。
但更好的方法是作为 JSON 进行比较。一种有趣的方法应该是使用deep-equal-in-any-order插件。这个插件独立于它的顺序比较对象。但首先确保将 JSON 字符串转换为对象。
推荐阅读
- powershell - 如何在 PowerShell 中无提示强制会话级执行策略?
- java - Spring引导Thymeleaf在端点之间传递相同的实例作为@ModelAttribute
- angular - 如何在 Angular/TypeScript 中声明一个对象,键是日期,值是布尔值
- vb.net - 在 Visual Basic(不是 VB.NET)中创建对象而不使用“新建”
- css - 如何使用 utf-8 字符作为 css 中的内容
- amazon-web-services - 如何为每个环境/AWS 账户划分不同的托管区域
- python - 设置一个键的值,更改所有键的所有值
- python - 按条件分组 - Pandas
- machine-learning - 如何在 Scikit 中自定义 GridSearchCV 的指标 学习调整特定类?
- python - 如何将嵌套列表拆分为更小的嵌套列表