Зависимость пакета узла не загружена в jest и vue -test-utils в Vue. js - PullRequest
0 голосов
/ 04 марта 2020

В настоящее время я использую js -yaml-loader для загрузки содержимого файла yaml в мой модуль Vuex.

/ store / modules / details. js

import axios from "axios";
import secrets from 'js-yaml-loader!../../config/secrets.yml'
const config = secrets[process.env.NODE_ENV];

export const namespaced = true;

export const actions = {
  getDetails({ commit }, location) {
    const params = {
      location: location
    };
    return axios.get(`https://example-api/details.json`)
      .then(response => {
        return response.data.data.result;
      })
      .catch(error => {
        console.log(error);
      })
  }
}

и я собираюсь проверить это, используя Jest и vue-test-utils, но когда я запускаю тест, я получаю.

● Test suite failed to run

    Cannot find module 'js-yaml-loader!../../config/secrets.yml' from 'details.js'

    However, Jest was able to find:
        'modules/details.js'

    You might want to include a file extension in your import, or update your 'moduleFileExtensions', which is currently ['js', 'json', 'yml', 'vue'].

Есть ли способ использовать пакет внутри моей конфигурации jest?

jest.config. js

module.exports = {
  verbose: true,
  preset: '@vue/cli-plugin-unit-jest',
  moduleFileExtensions: [
    "js",
    "json",
    "yml",
    "vue"
  ],
  setupFiles: ['<rootDir>/tests/unit/index.js']
}
...