我遇到了邮递员测试功能的奇怪问题。
我曾经做过这样的测试:
tests["Status code is 200"] = responseCode.code === 200;
我需要自定义一下,所以我升级了它:
test_name = "[ "+ request.name + " ] - ";
tests[test_name + "Status code is 200"] = responseCode.code === 200;
这很有效。
我最近发现嵌入式代码段“状态代码:代码为200”会显示如下:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
这是非常好的,特别是因为一些用户没有开发背景,所以我尝试了它并决定将它用于我的测试。 然后我回到原来需要定制的问题,所以我做了
pm.test(test_name + "Status code is 200", function () {
pm.response.to.have.status(200);
});
这不起作用,但它不会引发错误:测试只是在“测试”标签中根本没有出现!
previousely我有测试(3/3),有3次PASS测试,现在我有测试(2/2)(至少我希望测试(2/3)测试失败或错误)
这可能是我的语法,所以我尝试了不同的方式:
test_assert = test_name + "Status code is 200"
pm.test(test_assert, function () {
pm.response.to.have.status(200);
});
这也不起作用。
确保我尝试的语法没有问题:
pm.test("[ Get all configuration - nominal ] - Status code is 200", function () {
pm.response.to.have.status(200);
});
哪个失败。有多少字符限制??? 为了检查目的,我试过
pm.test("[ Get all configuration - nominal ] - abcdefghijklmnopqrstuvwxyz0123456789", function () {
哪个有用 =>它不是一些字符限制,所以我尝试逐个字符地设置我自己的字符串。 它适用于
pm.test("[ Get all configuration - nominal ] - Status code is 20", function () {
pm.response.to.have.status(200);
});
我最终得到了测试(3/3)
如果我添加最后一个“0”它不起作用?????测试(2/2)
我甚至尝试过:
pm.test("[ Get all configuration - nominal ] - Status code is 20 that's all", function () {
pm.response.to.have.status(200);
});
并且工作 :(
“测试”选项卡显示测试(3/3),我有我的指示:
PASS [获取所有配置 - 名义] - 状态代码为20全部
我是不是以某种方式进入了暮光之城?
我想明白......我有人有想法
答案 0 :(得分:0)
我找到了一个真正的bug的解决方法
我尝试了更多测试:
检查问题是否以数字结尾:
pm.test("[ Get all configuration - nominal ] - Status code is 20 that's all0", function () {
pm.response.to.have.status(200);
});
=>它的工作原理
检查它是否与代码200的位置相关联(我删除了“名义”的最后“l”):
pm.test("[ Get all configuration - nomina ] - Status code is 200", function () {
pm.response.to.have.status(200);
});
=>它失败了
从这个观察中我尝试在“200”之前插入一个或多个空格:
pm.test("[ Get all configuration - nominal ] - Status code is 200", function () {
pm.response.to.have.status(200);
});
=>它的工作原理
无论“200”之前的空格数,“测试”标签中的显示如下:
PASS [获取所有配置 - 名义] - 状态代码为200
只有一个空格“是”和“200”
我认为测试标签中有一个棘手的错误。 这是一个真正的问题,因为在生产周期中,它可能会被忽视