测试中的调试输出
Posted
技术标签:
【中文标题】测试中的调试输出【英文标题】:Debug output in tests 【发布时间】:2015-09-18 09:29:10 【问题描述】:如何在 Postman 测试中输出一些信息?
console.log(tv4.error);
tests["Valid Data1"] = tv4.validate(data1, schema);
console.log()
似乎正在工作,但我想将我的信息输出到我的断言所在的同一个面板中(以便于关联):
【问题讨论】:
这个面板在哪里? $('#panelId').html(tv4.error); 怎么样? ? 【参考方案1】:只做一个通过的假测试:
var jsonData = JSON.parse(responseBody);
tests["id = " + jsonData.id] = true; // debug message
tests["name = " + jsonData.name] = true; // debug message
【讨论】:
我知道这是在邮递员中执行此操作的“正确”方法,但它确实看起来像一个 hack。问题是,如果您在集合运行程序中运行多个测试,这些语句不会按照它们发生的顺序显示。这使我必须同时执行 console.log + console.error + test[''] 才能真正了解正在发生的事情。 PostMan 应该根据测试是否通过,直接将 tests[] 数据通过管道传输到 console.log 和 console.eror 消息。 Postman 是 chrome 应用,它总是有开发工具和控制台,你可以从菜单View > Show DevTools
或 View > Show Postman Console
打开它
我正在使用以下内容写入控制台日志。 console.log(request.name + ": 应用程序丢失,跳过验证");
【参考方案2】:
为只想使用 Chrome 的开发者工具的人提供参考(它可以让您查看控制台输出并为您提供更多功能)
启用它
-
在您的 Chrome URL 窗口中输入
chrome://flags
搜索“调试打包应用程序”设置
启用设置
重启 Chrome
您可以通过右键单击 Postman 中的任意位置并选择“inspect element”来访问开发者工具窗口。
您也可以前往
chrome://inspect/#apps
,然后点击“inspect”
Reference
【讨论】:
终于可以看到[object][object]
里面的内容了【参考方案3】:
我用过这个,它不是最漂亮的,但它可以满足我的需要。
tests["your test name here " + data.data.length] = data.data.length > 100;
【讨论】:
如果它很愚蠢但有效,那它并不愚蠢。正在找那个,谢谢!【参考方案4】:捎带其他答案,只需在 Postman 测试代码中定义一个函数
var print = function(s)
tests[s] = true;
;
然后像消费它
print("current value of x: " + x);
【讨论】:
【参考方案5】:现在你有一个叫做“邮递员控制台”的东西要运行它,请输入 CTRL + ALT + C 有关更多信息,请参见此处:https://blog.getpostman.com/2016/08/26/the-postman-console/
【讨论】:
【参考方案6】:其中一种方法是使用测试[""+value]。
例如
http://api.openweathermap.org/data/2.5/weather?q=London,uk&appid=Your_API_Key.
回应:
【讨论】:
【参考方案7】:类似于之前关于替代选项的答案:使用开发工具。但是,如果您使用的是原生应用,右键单击获取开发工具将不起作用。
相反,
-
前往应用程序菜单中的“查看”,然后单击“显示 DevTools”。
在 DevTools 窗口中,单击***控制台选项卡应显示应用程序的调试日志。
参考:https://learning.getpostman.com/docs/postman/collection_runs/debugging_a_collection_run
【讨论】:
以上是关于测试中的调试输出的主要内容,如果未能解决你的问题,请参考以下文章
使用 ReSharper,如何在长时间运行的单元测试期间显示调试输出?
STC单片机利用scanf和printf串口输入输出调试测试