Я использую геттер Vuex, чтобы вернуть мне свойство, и тестирование геттера работает нормально.Теперь я хочу вызвать этот метод получения в js-файле, чтобы использовать возвращаемое значение в его функции, но если я установил макет этого метода получения, я всегда получаю эту ошибку: "TypeError: Невозможно установить свойство selectedCar of #, которое имеет толькоgetter "
Я также пытался заменить состояние store.replaceState и использовать шпиона с mockImplementation, который возвращает« test », но затем он говорит мне:« Не удается шпионить свойство selectedCar, потому что этоне функция; вместо нее указана строка "
import { store } from "../../store/store";
const helpers = {
getArray() {
const selectedCar = store.getters.selectedCar;
}
};
export default helpers;
Проверка:
import helpers from "../helpers";
import { store } from "../../../store/store";
describe("getArray", () => {
test("should get currentCar from store", () => {
store.getters.selectedCar = jest.fn(() => "test");
helpers.getArray();
expect(store.getters.selectedCar).toBeCalled();
});
});
Хранение:
import Vue from "vue";
import Vuex from "vuex";
import mutations from "./mutations";
import getters from "./getters";
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
sessionData: null,
},
mutations,
getters
});
Получатели:
export default {
selectedCar: (state) => {
// const car = logic to retrieve the selectedCar
return car;
}
};