Quiero cofigurar el informe mocha para que solo contenga casos fallidos. Estoy usando el siguiente código para leer archivos de prueba js y enviar correo al finalizar. Quiero enviar solo casos de falla. ¿Cómo configurarlo en mocha?
const Mocha = require('mocha'); const fs = require('fs'); const path = require('path'); const mocha = new Mocha({}); const sendMail = require('./sendMail'); const error = require('./errMsg'); async function executeMocha() { const testDirPath = path.resolve('./') + '/test'; fs.readdirSync(testDirPath).filter(function (file) { // Only keep the .js files return file.substr(-3) === '.js'; }).forEach(function (file) { mocha.addFile( path.join(testDirPath, file) ); }); mocha.reporter('mocha-simple-html-reporter', { output: '/tmp/testspec.html' }).run( async (err,res) => { if(err){ console.log("\n\n\n\nTest Case FAAAAAAAAAAILLLLLL \n\n\n\n"); } console.log("\n\n\n\nTest Case Execution Successfull\n\n\n\n"); await getResult(); } ); } async function getResult() { fs.readFile(('/tmp/testspec.html'), 'utf8', async (err, res) => { if (err) { await sendMail((process.env.env_type +error.fail.subject + process.env.CB_TEST_URL ), error.fail.body + err); } await sendMail((process.env.env_type +error.success.subject + process.env.CB_TEST_URL ), res); }) } module.exports = executeMochaUm, suponiendo en su función mocha.reporter que if(err) el caso de prueba es un error, puede hacer esto (sin embargo, ni siquiera estoy seguro de qué sería un error para usted, no veo que desee ningún resultado específico o algo)
const Mocha = require('mocha'); const fs = require('fs'); const path = require('path'); const mocha = new Mocha({}); const sendMail = require('./sendMail'); const error = require('./errMsg'); async function executeMocha() { const testDirPath = path.resolve('./') + '/test'; fs.readdirSync(testDirPath).filter(function (file) { //in case someone has a FOLDER named with '.js' at the end if(!fs.lstatSync(file).isFile()){return null} // Only keep the .js files return file.substr(-3) === '.js'; }).forEach(function (file) { mocha.addFile( path.join(testDirPath, file) ); }); mocha.reporter('mocha-simple-html-reporter', { output: '/tmp/testspec.html' }).run( async (err,res) => { if(err){ console.log("\n\n\n\nTest Case FAAAAAAAAAAILLLLLL \n\n\n\n"); return await sendMail((process.env.env_type +error.fail.subject + process.env.CB_TEST_URL ), error.fail.body + err); } console.log("\n\n\n\nTest Case Execution Successfull\n\n\n\n"); } ); } async function getResult() { //error would only happen here if there was a problem READING the html file, unsure where the js files in question would be responsible fs.readFile(('/tmp/testspec.html'), 'utf8', async (err, res) => { if (err) { await sendMail((process.env.env_type +error.fail.subject + process.env.CB_TEST_URL ), error.fail.body + err); } await sendMail((process.env.env_type +error.success.subject + process.env.CB_TEST_URL ), res); }) } module.exports = executeMocha