繁体   English   中英

为什么我只能在邮递员测试中检查“数字”,而在针对模式测试时检查“整数”?

[英]Why can I only check for "number" in postman tests, but for "integer" when testing against a schema?

我想弄清楚,为什么我似乎无法编写类似的测试

pm.expect(responseBody.id).to.be.an("integer");

但显然必须使用“数字”。 测试失败并显示以下消息:

AssertionError: expected 12345 to be an integer 但我确信它是一个整数。 我也尝试过其他回复。

当我针对模式测试响应时,其中 id 的类型为“整数”,它可以工作。

那么,我是否只能在 pm 测试中检查“数字”,或者在这种情况下“数字”是否表示“整数”?

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

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

我不知道你的响应体是什么样子,但我已经嘲笑了这个测试来展示你如何在 expect 语句中使用isInteger 这将返回true/false因此可以像这样断言:

let test = { "number": 1234 };

pm.test("Check is an Int - 'With isInteger'", function () {
    pm.expect(Number.isInteger(test.number), `Value: ${test.number} is a ${typeof test.number} and not a number`).to.be.true;
});

pm.test("Check is an Int - 'With a number'", function () {
    pm.expect(test.number).to.be.a("number");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM