我正在为Karma创建一个自定义适配器。在我查看的其他适配器中(例如karma-mocha
),在执行开始时报告测试总数(via info
call),对于我的情况,它不能在开始时作为总测试数来完成当时不知道。
我尝试在每个测试套件(发送执行的测试数量)之后调用info
方法,但它似乎没有任何效果(看起来它只是更新了整个测试运行的开始)。是否有可能通过其他方法或自定义记者实现?
P.S。我知道在执行每个测试套件后更新测试总数没有多大价值,因为用户在运行之前仍然看不到总测试数。但是,“550的执行550”仍然比“执行550的0”更好。
答案 0 :(得分:0)
在报告测试结果之前调用info
时,看起来Karma会做一些特别的事情。
this.info = function (info) {
// TODO(vojta): introduce special API for this
if (!startEmitted && util.isDefined(info.total)) {
socket.emit('start', info)
startEmitted = true
} else {
socket.emit('info', info)
}
}
您可以尝试跟踪测试结果/错误,然后在测试运行结束后调用info
并使用测试总数,然后再调用result
,error
和{分别为{1}}。