Отправить ответ, используя Mocha программно с REST - PullRequest
0 голосов
/ 08 марта 2019

Ниже приведен код, который я написал для программного тестирования мокко-скриптов. Когда я печатаю 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;
}

})

Пожалуйста, дайте мне знать, что я здесь пропустил. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...