Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 为什么我只能在邮递员测试中检查“number”,而在针对模式进行测试时检查“integer”?_Json_Postman_Schema - Fatal编程技术网

Json 为什么我只能在邮递员测试中检查“number”,而在针对模式进行测试时检查“integer”?

Json 为什么我只能在邮递员测试中检查“number”,而在针对模式进行测试时检查“integer”?,json,postman,schema,Json,Postman,Schema,我试图弄明白,为什么我不能像这样写一个测试 pm.expect(responseBody.id).to.be.an("integer"); 但显然必须使用数字。 测试失败,并显示以下消息: AssertionError:预期12345为整数 不过,我确信这是一个整数。我也尝试过其他的回答 当我针对一个模式测试响应时,该模式的id类型是integer,它可以工作 那么,我是否只有在pm测试中检查一个数字的可能性,或者这个数字在这种情况下是指整数 不幸的是,我在邮递员网站上没有

我试图弄明白,为什么我不能像这样写一个测试

pm.expect(responseBody.id).to.be.an("integer");
但显然必须使用数字。 测试失败,并显示以下消息:

AssertionError:预期12345为整数 不过,我确信这是一个整数。我也尝试过其他的回答

当我针对一个模式测试响应时,该模式的id类型是integer,它可以工作

那么,我是否只有在pm测试中检查一个数字的可能性,或者这个数字在这种情况下是指整数


不幸的是,我在邮递员网站上没有找到任何有用的信息。任何帮助都将不胜感激

您不仅限于在测试中使用ChaiJS getter/数据类型来检查整数

我不知道您的响应体是什么样子的,但我已经模拟了这个测试,以展示如何在expect语句中使用。这将返回真/假,因此可以像这样断言:

设test={number:1234}; testCheck是一个Int-'With isInteger',函数{ pm.expectNumber.isIntegertest.number,`Value:${test.number}是一个${typeof test.number}而不是一个数字`.to.be.true; }; testCheck是一个Int-‘带数字’函数{ pm.expecttest.number.to.be.anumber; };
如果数字确实是整数,则上述解决方案有效。不幸的是,如果不是,我已经用模拟服务器模拟了响应,测试将失败,并显示一条相当不具体的消息,因为它正在尝试调用isInteger(例如字符串)。第一个解决方案是可能将测试包装到if语句中,首先检查对象是否为数字。有没有更简单的解决方案?如果它不是一个数字,并且测试正在检查一个数字,那么它正在做它设计要做的事情:D-pm.expect语句使用一个附加参数,您可以在其中添加自定义消息。我已经更新了答案。