如何检查邮递员响应中每个值的数据类型

时间:2018-02-13 22:35:46

标签: javascript postman

如何检查api响应中每个值的数据类型是不是整数?例如,如果我的api返回:

var jsonData = JSON.parse(responseBody);
tests["Team Permissions Do Not Contain Integers"] = typeof(jsonData.teamPermissions) !== "number"

我需要邮递员测试以确保在teamPermission数组中永远不会返回整数。这是我开始但需要帮助的地方:

<input type="radio" name="attr_1" value="1">
<input type="radio" name="attr_1" value="2">
<input type="radio" name="attr_1" value="3">
<input type="radio" name="attr_1" value="4">
<input type="radio" name="attr_1" value="5">

input {
    background-color: red;
}
input:checked ~ input {
    background-color: black
}

这是因为teamPermissions是一个对象,但是如何检查对象的每个值都不是整数?

3 个答案:

答案 0 :(得分:4)

这应该为你做检查:

this.categoryRepository.getAllData<any>(filter,Path);

如果数字是数组的一部分,检查会做什么,我已经注销了这些类型,以便您可以查看它所检查的内容。

Postman

另一种选择是使用Lodash,它是Postman原生应用的内置模块。此代码将执行与上面相同的检查:

this.categoryRepository.getAllData<IBaseModelInterface>(filter,Path);

答案 1 :(得分:0)

看起来teamPermissions是一个数组。

您可以使用Array.prototype.every()检查所有元素是否都通过了某些条件:

var array1 = [1, 2, 3];
var array2 = ["a", 9, 10];
console.log(array1.every((e) => { return !isNaN(e) })) // True, all elements are numbers
console.log(array2.every((e) => { return !isNaN(e) })) // False

答案 2 :(得分:0)

我认为你可以这样做:

jsonData.forEach((a)=>{
var boolVal=isNaN(a) ? true : false
if(boolVal)
{
    tests["Team Permissions Do Not Contain Integers"]=false; 
 }
});

仅供参考,而不是NaN(a)你也可以做Number.isInteger(a)