Vue + Мокко, 0 тестов пройдено, если vue в одном файле есть тег <style> - PullRequest
0 голосов
/ 28 января 2020

Я внедряю VueJS в Ruby в приложении Rails, используя webpacker и vueonrails gem, и у меня возникают проблемы с тестированием реализации Vue.

У меня есть куча .vue файлов используя один файл шаблона. Если я выполню тестирование для файлов, содержащих только теги и теги, все файлы папки и подпапок будут работать правильно, при этом другие компоненты с тегом <style> не будут содержать тестового файла в той же папке.

Если я запускаю тесты, результат равен 45 пройденных тестов.

Затем, если я напишу тест одного из этих файлов с <style> и снова выполню тесты, он будет выполнен без ошибок, но при этом будет пройдено 0 тестов, что исключает прохождение всех тестов. папки.

Если я запускаю специфицированный c тест файла без тега <script>, он проходит все тесты файла нормально, если я тестирую файл с <script>, получим 0 тестов .

Я использую mochapack и ignore-styles для запуска с этой командой:

NODE_ENV=test mochapack --webpack-config config/webpack/test.js --require ignore-styles --require app/webpacker/src/test/setup.js --glob '*.spec.js' app/webpacker/src/components --recursive

То, что связано с импортом Vue компонента в spe c. js файл, но я не знаю, как решить, и почему работает с <template> + <script> файлами, а не с <template> + <script> + <style> файлами.

1 Ответ

0 голосов
/ 08 мая 2020

Не могли бы вы предоставить свой тестовый конфиг? У меня была похожая проблема, которая была вызвана неправильной конфигурацией. В dev / prod env стили загружались с помощью ruby gem, но весь тестовый env выполняется узлом. Поэтому в тестовом конфиге мне пришлось добавить загрузчики для css:

environment.loaders.prepend('css', {
  test: /\.css$/,
  use: [
    'vue-style-loader',
    'css-loader',
    'sass-loader',
  ],
});
...