Я создал пакет NPM, содержащий коллекцию задач Gulp.Я добавил несколько тестов, используя Mocha + Chai, чтобы убедиться, что он продолжает правильно создавать ресурсы.
Один из тестов должен подтвердить, что созданный сжатый файл существует и не является пустым.
Я использовал chai-fs
, чтобы проверить, существует ли файл.
Проблема заключается в том, что сгенерированный файл хешируется, поэтому он выглядит как main-07781b0850.min.css
.07781b0850
генерируется gulp-rev
.
Вот что я делаю:
const chai = require('chai');
const expect = require('chai').expect;
const fs = require('chai-fs');
chai.use(fs);
describe('production', function () {
// Styles.
it('CSS file is minified.', function(done) {
expect('test-website/dist/styles/main-07781b0850.min.css').to.be.a.file().and.have.contents.that.match(/\*\/(?!\n).*$/);
done();
});
});
Поскольку я знаю, что хэш всегда содержит 10 символов / цифр,Я хотел бы проверить, соответствует ли сгенерированный файл этому шаблону: main-[a-z0-9]{10}.min.css
.
Я не нашел способа использовать регулярные выражения с chai-fs
и с chai-files
.