json - 如何在 Jasmine 中比较 json 对象

标签 json jasmine bdd jasmine2.0

我想在 Jasmine 中比较 JSON 对象的键。 例如:我有带有两个键的 JSON 对象,我想检查 JSON 是否包含两个 via Jasmine。

{
"key1": "value1",
"key2": "Value2"
}

如果我有这个 JSON,我想检查 JSON 是否同时包含 key1、key2

我们如何在 Jasmine 中检查它? 如果我们可以使用 JSON 键检查值类型,那就太好了。

最佳答案

您可以使用 Object.keys(JSONObj) 从对象中获取所有键。然后您可以对结果执行简单的 toEqualtoContain 断言。

var obj = {
    "key1": "value1",
    "key2": "Value2"
  };
var expectedKeys = ["key1","key2"];
var keysFromObject = Object.keys(obj);
for(var i=0; i< expectedKeys.length;i++) {
   expect(keysFromObject).toContain(expectedKeys[i])
}

关于json - 如何在 Jasmine 中比较 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977565/

相关文章:

javascript - 如何根据事物的排名和按钮将事物添加到数据库中?

angularjs - 业力/ Jasmine : Pretty printing object comparison

Karma 的 Angular Testing 错误

.net - BDD测试框架

javascript - 你如何使用 Jasmine BDD 卡住/伪造时间

php - stdClass 类的对象无法转换为字符串 - 找不到解决方案

javascript - 将 API 请求中的 JSON 数据插入 MySQL 数据库

json - Flatbuffer 与 CBOR

unit-testing - 如何在 Jasmine 中使用多个期望

tdd - xUnit 框架和 BDD 可以一起工作吗?