文件夹中的断言总数 运行 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");
}
}
});
});
});
我正在使用 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");
}
}
});
});
});