如何检查对象中的两个属性是否具有相同的值

时间:2016-03-10 12:19:07

标签: node.js jasmine-node

我使用测试框架Frisby,我想检查两个属性是否与下面的例子中的值相同,其中count必须等于total_count。 我一直在环顾四周,但没有办法检查这两处房产 相同的价值。

以下是我用来验证GET的代码。对API的调用列出了系统中注册的所有用户。

frisby.create('GET Method')
          .get(urlMultiNetworkAdminUser)
          .expectStatus(200)
          .expectJSON({

          })
          .expectJSONTypes({
              rows : Array,
              count : String,
              total_count : String
          })
          .expectJSONTypes('rows.*' ,{
              id : Number,
              setting_group_id: function(val) { expect(val).toBeTypeOrNull(Number); },
              login : String,
              email : String,
              language_code : String,
              role : String,
              ismultinetworkadmin : Boolean,
              real_name : String,
              subscribe_to_issues : Boolean,
              external_account : Boolean,
              href : String
          }).toss();

{
    "rows":
    [
        {
          "id":109,
          "setting_group_id":null,
          "login":"Admin",
          "email":"dise.server@dise.com",
          "language_code":"en",
          "role":"user",
          "ismultinetworkadmin":false,
          "real_name":"Amin",
          "subscribe_to_issues":false,
          "external_account":false,
          "href":"/api/v1/users/109"
        },
        {
           "id":110,
           "setting_group_id":null,
           "login":"User",
           "email":"dise.server@dise.com",
           "language_code":"en",
           "role":"user",
           "ismultinetworkadmin":false,
           "real_name":"User",
           "subscribe_to_issues":false,
           "external_account":false,
           "href":"/api/v1/users/110"
        }
    ],
    "count":"2",
    "total_count":"2"
}

非常感谢

1 个答案:

答案 0 :(得分:0)

检查深度平等 - 我认为你想做什么 - 使用下划线......

expect(_.isEqual(actual, expected)).toBe(true);

您也可以使用lodash或编写自己的函数来检查深度相等。