在 Jasmine 测试中将 console.log() 的调用重定向到标准输出
Redirect calls to console.log() to standard output in Jasmine tests
我通过jasmine-maven-plugin使用Jasmine,我想在Maven构建输出中看到console.log()消息。有没有办法实现这一目标?
如果无法重定向 console.log(),是否有其他方法可以从我的测试中记录,以便它们显示在 Maven 构建输出中?
我正在以无头方式在 Jenkins 上运行这些测试,并希望通过一种从测试中获取一些调试输出的方法。
尝试
console.info('foo')
来自测试脚本。
Jasmine 1.x
您可以使用:
jasmine.log("I've got a big log.");
茉莉花 2+
直接使用console.log
,根据下面道格拉斯-特雷德韦尔的评论。
如果您在节点环境中运行。你可以使用
process.stdout.write("this will be send to the console");
我认为这是不可能的。
我不得不在规范加载器中覆盖控制台.log实现,即(使用 jQuery):
var console = {
panel: $('body').append('<div>').css({position:'fixed', top:0, right:0,background:'transparent'}),
log: function(m){
this.panel.prepend('<div>'+m+'</div>');
}
};
console.log('message 1');
console.log('message 2');
这里有一个功能示例
如果您迫切需要终端窗口中的任何输出,以便在测试完成且浏览器关闭后查看数据,console.error()
似乎可以解决问题。
我通过guard
和phantom js
使用jasmine 2
,发现测试中的标准console.log
消息可以很好地输出到 Jasmine 规范运行器的控制台。
我还发现,我正在测试的javascript代码元素中的console.log
消息确实被写出来给测试本身stdout
而不是console.log
消息。
使用咕噜声/业力/茉莉花(业力-茉莉花 0.2.2)遇到了同样的问题 -
为了配合Dave Sag所说的话,我发现我正在测试的代码中的所有console.log
消息都运行良好,但是我的describe() {}
和it() {}
块中的任何内容都没有记录任何内容。
我确实发现您可以从beforeEach() {}
块登录。至少它对我有用:
beforeEach(function() {
this.model = new blahModel();
console.log('this.model = ', this.model);
});
请注意,这仅在浏览器控制台中记录,并且由于某种原因不会登录命令行。有点奇怪的时候 控制台.log来自测试代码块的语句确实记录在命令行中。我还在这里找到了似乎更好的一致日志记录方法。
更新 :我实际上看到日志记录也为它块工作,我相信我还有其他错误阻止了这一点。
1)转到你的项目目录,在那里你有你的pom.xml。在 cmd 中运行以下命令。MVN 茉莉花:BDD
2)您将获得本地主机URL:localhost:8234(只是一个示例)。
3) 在浏览器中运行此 URL。现在,您的所有测试用例都已执行。
4) 执行此页面的"检查"元素。在浏览器控制台中,您将能够看到所有 console.log() 或 console.error() 跟踪。
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- 当达到codeigniter/tank auth会话超时时,在ajax调用中处理php重定向
- 为什么AJAX调用有时会重定向页面
- 在AJAX调用中获取重定向的php页面名称
- 如何在fetch post调用后管理重定向请求
- 如何通过ajax调用将用户重定向到页面
- Rails:通过调用Ajax重定向
- jQuery Ajax 调用重定向到被调用的 URL 而不是相同的模板
- 谷歌分析调用然后用javascript重定向
- 如何在jqueryajax调用中使用springmvc重定向到视图
- JavaScript位置重定向暂停Chrome上的AJAX调用
- Firefox弹出窗口“;这个网页被重定向到一个新的位置“;在每个requestPromise ajax调用上,有什么方
- 从外部php文件重定向页面(在ajax调用中)
- 如何使用React从ajax调用成功后重定向
- 是在window.location重定向后调用的垃圾收集器
- 在 Jasmine 测试中将 console.log() 的调用重定向到标准输出
- 使用 JavaScript 调用重定向到具有 asp.net MVC 应用程序的操作
- 将对$.fadeIn()的调用重定向到$.show()
- jQuery对话框调用重定向页面