Ниже приведен код, который я написал для программного тестирования мокко-скриптов.
Когда я печатаю testsResults на консоли, я получаю ожидаемый ответ, но когда я отправляю его как ответ, он возвращает: {
«всего»: 0,
«passCount»: 0,
«failCount»: 0,
"тесты": {}
}
Код:
router.get ('/ runMochaScriptsViaCICD', multipartMiddleware, асинхронная функция (req, res, next) {
// эта функция запускает все тестовые сценарии через CICD
try {
// Instantiate a Mocha instance.
var mocha = new Mocha();
mocha.timeout(100000);
var testDir = './test/'
var date = new Date();
// Add each .js file to the mocha instance
fs.readdirSync(testDir).filter(function(file) {
// Only keep the .js files
return file.substr(-3) === '.js';
}).forEach(function(file) {
delete require.cache[file];
mocha.addFile(
path.join(testDir, file)
);
});
//var promise = new Promise(function(resolve, reject) {
mocha.reporter(function (runner) {
var passes = 0;
var failures = 0;
runner.total;
var testsResults = {
total: runner.total,
passCount: 0,
failCount: 0,
tests: {},
};
runner.on('pass', function (test) {
testsResults.passCount++;
});
runner.on('fail', function (test, err) {
testsResults.failCount++;
});
runner.on('end', function () {
console.log("testsResults : ", testsResults);
res.json(testsResults);
});
}).run();
// res.sendStatus(200);
}
catch (e) {
logger.info("Exception raised in service/status call")
logger.info(e);
res.sendStatus(503);
return;
}
})
Пожалуйста, дайте мне знать, что я здесь пропустил.
Заранее спасибо!