Я пытаюсь преобразовать юнит-тестирование в старое приложение Vue, которое мы разработали.Одна вещь, которая была установлена моим старшим, заключается в том, что я не могу изменить какой-либо код в реальном приложении (это вызывает слишком большую головную боль для меня).
Теперь я пытаюсь проверить, является ли методактивируется, когда пользователь нажимает кнопку:
import { mount, shallowMount, createLocalVue } from '@vue/test-utils';
import { expect } from 'chai';
import Vuex from 'vuex';
import sinon from 'sinon';
import AccountCreation from '@/components/.../AccountCreation.vue';
import createStoreConfig from '@/store/create-store-config';
const localVue = createLocalVue();
localVue.use(Vuex);
const storeConfig = createStoreConfig();
const store = new Vuex.Store(storeConfig);
store.state.selectedMemberType = 'writer';
describe('Account Creation', () => {
const wrapper = shallowMount(AccountCreation, {
methods: {
},
store,
localVue,
});
it('should return a writer argument when the validate username button is clicked', () => {
let ga = () => {console.log('test')}
const button = wrapper.find('#accountCreation .col-xl-5 .card span ').trigger('click')
})
});
Я знаю, что в этом тесте нет expect
.И фактический метод выглядит следующим образом.Я знаю, что метод запускается, но mocha
/ chai
выдает ошибку, прежде чем он сможет установить успех.
Я не могу поделиться реальным кодом, но в основном он будет делать что-то вроде этого:
validateUsername(fieldName) {
ga('send', 'event', 'page' 'action' 'error')
}
В коде есть что-то еще, но он не выполняется, поскольку ga
при запуске выдает ReferenceError
.Google Analytics странным образом импортирован в main.js
, поэтому я не могу заглушить его обычным способом sinon
или mocha
.