问题描述
我正在使用newman来运行邮递员收藏。由于存在多个集合,因此我使用newman运行整个文件夹。我遇到的问题是,纽曼为每个集合分别显示断言计数,因此我必须手动将它们加起来以获得断言的总数。
无论如何,我可以获得整个文件夹的断言总数吗?
解决方法
如果您指的是在文件夹中运行所有集合的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',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");
}
}
});
});
});