需要将测试记录保存到磁盘
我尝试过以下代码
mocha -R spec test/**/*_test.js > report
假设任何测试用例都失败了它没有登录到'report'文件。请建议记录测试报告的最佳方法。
答案 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