Ich versuche, eine Komponente zu montieren, die Vuex verwendet und erfordert route.query $vue-Test-utils: spöttische vue-Router und vuex im gleichen Test
import { mount, shallow, createLocalVue } from 'vue-test-utils'
import Vue from 'vue'
import expect from 'expect'
import Vuex from 'vuex'
import VueRouter from 'vue-router'
import Post from '../../components/Post.vue'
const localVue = createLocalVue()
localVue.use(Vuex);
localVue.use(VueRouter);
describe('Lead list',() => {
let wrapper;
let getters;
let store;
beforeEach(() => {
getters = {
post:() => { return {} }
}
store = new Vuex.Store({
getters
});
});
it('should just be true',() => {
const $route = {
path: '/some/path',
query: {}
}
wrapper = shallow(Post, {
localVue,
mocks: {
$route
}, store
});
expect(true).toBe(true);
});
});
verspottet werden, und ich bin diesen Fehler zurück
TypeError: Cannot set property $route of #<VueComponent> which has only a getter
ich habe die geschlossene Ausgabe https://github.com/vuejs/vue-test-utils/issues/142 gefunden, die ähnlichen Fehler aufweist. Aber mein Fall ist ein bisschen anders. Wenn ich den Store oder die Mocks aus den Optionen entferne, funktioniert es gut, aber es funktioniert nicht, wenn Sie beides haben. Ist das ein Problem oder mache ich etwas falsch?
Dank
ich es mit 'freshLocalVue.use (VueRouter) arbeiten machen es geschafft, 'statt Vuex. Aber du hast mich definitiv in die richtige Richtung gelenkt. Vielen Dank! – maymoon