Я установил набор тестов в мокко, используя ZombieJS и Chai. В тестах загружается веб-сайт и проверяется правильность бронирования различных услуг и отображается посетителям веб-сайта.
То, что я намереваюсь, это то, что тесты будут выполняться ежедневно, а затем отправлять результаты по электронной почте моей команде. Все тесты выполняются так, как ожидалось, но заблокированный я получил следующее.
Как передать результаты репортажа JSON в другой node.js script, где я могу отправить результаты по электронной почте. Построение электронной почты и отправка ее будет осуществляться прямо с помощью шаблонов nodemailer и underscore.
В моем нынешнем мышлении есть два подхода. Запустите тест мокки с оболочкой script и проведите вывод JSON на node script и обработайте JSON из аргумента командной строки. Что-то вроде...
mocha test/services/homepage.js > node email.js
Другой вариант - запустить тесты из node script и получить возвращаемый результат в переменной. Я использовал информацию здесь для запуска тестов в node.
https://github.com/mochajs/mocha/wiki/Using-mocha-programmatically
Это работает правильно, но я теряюсь с тем, как получить результаты репортера JSON в переменной из приведенного ниже кода.
var Mocha = require('mocha'),
Suite = Mocha.Suite,
Runner = Mocha.Runner,
Test = Mocha.Test;
// First, you need to instantiate a Mocha instance
var mocha = new Mocha({
reporter: 'json'
});
var suite = new Suite('JSON suite', 'root');
var runner = new Runner(suite);
var mochaReporter = new mocha._reporter(runner);
mocha.addFile(
'/Users/dominic/Git/testing-rig/test/services/homepage.js'
);
runner.run(function(failures) {
// the json reporter gets a testResults JSON object on end
var testResults = mochaReporter.testResults;
console.log(testResults);
// send your email here
});
Если у кого-то есть рекомендации относительно наилучшего способа приблизиться к этому, или если я пойду в совершенно неправильном направлении, я буду благодарен за любые предложения.