需要将测试日志保存到磁盘
我尝试了以下代码:
mocha -R spec test/**/*_test.js > report
假设任何测试用例失败都不会记录到“报告”文件中。请建议最佳方法记录测试报告。
stderr
也重定向到该日志文件:mocha -R spec test/**/*_test.js > report 2>&1
编辑:如果您想将内容同时发送到文件和控制台:
mocha -R spec test/**/*_test.js 2>&1 | tee report
这个问题没有说明日志将用于何种用途。如果您需要报告中的堆栈跟踪,那么您不能使用 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
输出结果还可以传递给一个工具,将其缩小到你想要的内容,并格式化得漂亮些,以便放入电子邮件、即时消息或其他地方。当我运行测试套件进行数千次测试时,我经常使用这种方法,因为我最关心的是快速获取失败的列表。
或者您可以简化为
mocha --colors ./test/**/*_test.js 2>&1 | tee ./reports/report.log
-C
或--no-colors
调用 Mocha。 - Grexisnpm i mocha -g
- robertklep