Frisby:测试对象中至少有一个字段是否具有正确的数据

时间:2015-06-29 09:16:46

标签: json integration-testing frisby.js

我需要与Frisby一起测试,至少有3个地址有数据且不为空。贝娄是目前返回的:

  { physicalAddress: null,
  postalAddress: 
   { addressNumber: 1234,
     addressLine1: 'BlaBla 1',
     addressLine2: 'BlaBla',
     addressLine3: null,
     addressLine4: null,
     postalCode: '1234',
     country: 'BlaBla',
    },
  emailAddress: null}

如果多个地址类型返回正确的数据,我想写一个测试通过。

这样的事情:(也许有一些聪明的我可以用来替换'^?^?^',如果它是一个我能够使用的数组'?'。

.expectJSONTypes('^?^?^', {
    addressNumber: Number,
    addressLine1: String,
    addressLine2: String,
    postalCode: String,
    country: String
})

1 个答案:

答案 0 :(得分:1)

这样可以更容易地获得更好的结构化响应,其中所有地址都以数组形式到达。

但是,对于您获得的响应类型,解决方案是使用afterJSON()和jasmine-node匹配器,如下所示:

.afterJSON(function(obj){
    expect(obj.addr1 =! null || obj.addr2 =! null || obj.addr3 =! null).toBe(true);
})