【问题标题】:Get all test fails from Mocha从 Mocha 获取所有测试失败
【发布时间】:2018-11-08 11:17:49
【问题描述】:

因此,我使用 Mocha 进行了大约 600 次测试,现在我需要自动运行所有测试并获取所有错误和成功计数,以将此信息发送到监控服务器。

我可以制作 bash 脚本,它运行测试并将 Mocha 日志写入文件,然后解析此日志文件并获取成功计数和失败日志(例如通过 grep),但这是一个太脏的解决方案。

我更喜欢以编程方式运行测试并从 Mocha 获取失败消息和成功测试数组之类的信息来解决此问题,但我找不到任何有关此的文档。

那么,如何解决这个问题呢?

【问题讨论】:

    标签: javascript node.js testing mocha.js qa


    【解决方案1】:

    创建一个文件,比如intercept-failures.js,内容如下:

    const failures = [];
    const successes = [];
    
    afterEach(function () {
        const title = this.currentTest.title;
        const state = this.currentTest.state;
        if (state === "passed") {
            successes.push(title)
        } else if (state === "failed") {
            failures.push(title)
        }
    });
    
    after(function () {
        console.log("failures", failures);
        console.log("successes", successes);
    });
    

    在你的 mocha 调用中添加一个标志 --file intercept-failures.js(例如 mocha --file intercept-failures.js test/**

    afterEach 钩子会累积所有测试结果,然后您可以在after 钩子中对它们做一些事情。 --file 标志只是确保将挂钩添加到所有测试套件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-23
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-06
      相关资源
      最近更新 更多