Desea validar si una función crea varios archivos con nombres de archivo en un patrón específico. El caso de prueba que he escrito es
describe('Sitemap', () => { it('it should create XML sitemap', () => { let language='hindi' return sitemapContainer.createSitemap(language).then(() => { expect(fs.existsSync(`sos/sos_${language}*.xml`)).to.be.true }); }) })pero falla. ¿Qué función debo usar en lugar de fs.existsSync para que ese patrón pueda coincidir? Algunos archivos de ejemplo son sos_hindi_1.xml, sos_hindi_2.xml, sos_hindi_3.xml.
existsSync busca un solo archivo, pero puede pensar fuera de la caja y tener un enfoque diferente.
En su lugar, puede leer toda la carpeta para tener una lista de archivos y luego hacer sus manipulaciones.
expect(fs.readdirSync('sos/').some(file => /* your condition */)).to.be.true Si al menos un archivo coincide con su condición, devolverá true
Con una expresión regular, puedes hacer algo así
let lan = "hindi"; var reg = new RegExp(`sos_${lan}_\\S\.xml`, 'g'); expect(fs.readdirSync('sos/').some(file => file.match(reg))).to.be.true