文件夹中的断言总数 运行 by newman

Total number of assertions in a folder run by newman

我正在使用 newman 来 运行 我的邮递员 collections。由于有多个 collection,我 运行 整个文件夹都使用 newman。我遇到的问题是 newman 分别显示每个 collection 的断言计数,因此我必须手动将它们相加以获得断言总数。

我是否可以获取整个文件夹的断言总数?

如果您指的是在一个文件夹中运行所有集合的 npm 脚本,那么类似这样的方法就可以了。这是一个非常原始的解决方案,但我认为没有其他方法,因为我们多次调用 newman.run

#!/usr/bin/env node

var newman = require('newman'),
    fs = require('fs');

fs.readdir('./collections', function (err, files) {
    if (err) { throw err; }

    files = files.filter(function (file) {
        return (/^((?!(package(-lock)?))|.+)\.json/).test(file);
    });
    
    console.log(files);

    var failedTests = 0;
    var completed = 0;
    files.forEach(function (file) {
        newman.run({
            collection: require(`./collections/${file}`),
            reporters: 'cli',
        }, function (err) {
            if (err) { throw err; }
        }).on('done', function (err, summary) {
            var collectionName = summary.collection.name;
            summary.run.failures.forEach(failure=>{
                failedTests++;
            });
            completed++;
            if(completed == files.length){
                if(failedTests != 0){
                    console.log("Run completed!");
                    console.log("Tests failed: "+ numFailedTests);
                }else{
                    console.log("No failed tests");
                }
            }
        });
    });
});