Я пишу свой проект с помощью ES6 и я использую Bubel + browserify скомпилировать мои JS файлы, до сих пор все работает отлично,Тестирования с мокко и browserify
В моем файле глотка я добавил наборы тестов с использованием мокко, как так:
gulp.task('buildTestsIndividually', function(done) {
gutil.log('buildTestsIndividually started');
glob('./test/**/*.spec.js', function(err, files) {
gutil.log('files'+files.length);
if(err) done(err);
var tasks = files.map(function(entry) {
return browserify({ entries: [entry] })
.transform(babelify)
.bundle()
.pipe(source(entry))
.pipe(rename({
extname: '.bundle.js'
}))
.pipe(gulp.dest(bundledTestsFolder));
});
es.merge(tasks).on('end', done);
});
gutil.log('buildTestsIndividually completed');
});
так что я хочу модульного тестирования некоторых из моего кода, проблема в том, что мой проект использует плагин называется froala, и, похоже, мокко не может загрузить плагин.
Я получаю эту ошибку:
TypeError: this.$el.editable is not a function
at Array.map (native)
Пожалуйста, обратите внимание, что моя продукция окр является копипаст, как выше и плагин работает там без проблем.
Любая помощь будет очень признательна!
Вы импортируете свое приложение, внедренное в ваш spec-файл. Вы на 100% уверены, что ваш spec-файл правильно имеет «froala» где-то в своих зависимостях? Не связаны, но почему вы строите пакет по спецификации? – loganfsmyth
@loganfsmyth Спасибо, я нашел проблему и предложил некоторые решения для нее, см. Мой ответ ниже –
Но зачем вам нужно связывать каждый тест отдельно? Обычно вы делаете единый пакет со всем, что в нем есть. – loganfsmyth