节点Mocha测试日志保存到磁盘

时间:2014-01-08 15:58:19

标签: node.js mocha

需要将测试记录保存到磁盘

我尝试过以下代码

  mocha -R spec  test/**/*_test.js   >  report

假设任何测试用例都失败了它没有登录到'report'文件。请建议记录测试报告的最佳方法。

3 个答案:

答案 0 :(得分:8)

您应该将stderr重定向到该日志文件:

mocha -R spec  test/**/*_test.js > report 2>&1

编辑:如果您希望将内容发送到文件控制台:

mocha -R spec  test/**/*_test.js 2>&1 | tee report

答案 1 :(得分:4)

问题没有说明日志的用途。如果报告中需要堆栈跟踪,则无法使用json-stream,因为此报告者不包含跟踪。但是,如果您想要的是可以轻松解析的内容,并且只关心测试的状态是知道测试的状态而不是为什么他们失败了,那么json-stream记者可以很好地工作:

$ mocha -R json-stream > report

您会获得定期格式化的行列表:

["start",{"total":1}]
["fail",{"title":"q","fullTitle":"blah q"}]
["end",{"suites":1,"tests":1,"passes":0,"pending":0,"failures":1,"start":"2014-01-08T18:10:27.764Z","end":"2014-01-08T18:10:27.768Z","duration":4}]

然后你可以轻松地试试失败的测试:

$ grep '^\["fail"' report

输出也可以传递给工具,该工具可以将其缩小到您想要的范围,并将其格式化为电子邮件,IM消息或其他内容。在运行带有数千个测试的测试套件时,我已经使用了这个方法,其中我最关心的是快速获取失败的列表。

答案 2 :(得分:0)

或者您可以简化为

mocha --colors  ./test/**/*_test.js 2>&1 | tee ./reports/report.log