0

我需要用 Frisby 测试,至少有 3 个地址有数据并且不为空。Bellow 是当前返回的内容:

  { 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
})
4

1 回答 1

1

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

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

.afterJSON(function(obj){
    expect(obj.addr1 =! null || obj.addr2 =! null || obj.addr3 =! null).toBe(true);
})
于 2015-07-09T03:05:53.120 回答