Я пытаюсь протестировать компоненты vue.
У меня есть отдельный файловый компонент vue, который использует vuex
.Мои состояния хранятся в store.js
, который использует localStorage
.Однако, когда я запускаю npm test
, я получаю сообщение об ошибке:
WEBPACK успешно скомпилировано в 9416ms
MOCHA Testing ...
RUNTIME EXCEPTION Исключение произошло во времязагрузка ваших тестов
ReferenceError: localStorage не определено
Инструменты, которые я использую для тестирования: @ vue / test-utils, ожидается, jsdom, jsdom-global, mocha, mocha-webpack
Как я запускаю тесты:
"test": "mocha-webpack --webpack-config node_modules/laravel-mix/setup/webpack.config.js --require tests/JavaScript/setup.js tests/JavaScript/**/*.spec.js"
Образец теста, order.spec.js
:
require('../../resources/assets/js/store/store');
require('../../resources/assets/js/app');
import { mount } from '@vue/test-utils';
import Order from '../../resources/assets/js/views/order/List.vue';
import expect from 'expect';
describe('Order', ()=>{
it('has alert hidden by default', () => {
let wrapper = mount(Order);
expect(wrapper.vm.alert).toBe(false);
})
})
В setup.js
загружаемом файлеjsdom вот так:
require('jsdom-global')();
Как мне это исправить?