Каков правильный способ доступа к получателям Vuex из Cypress?

#javascript #vue.js #vuex #cypress

#javascript #vue.js #vuex #cypress

Вопрос:

viewItems В моем хранилище Vuex вызывается получатель, возвращающий массив. Я могу получить к нему доступ из моего теста Cypress с помощью:

 Cypress.Commands.add("getStore", () => {
  return cy.window().its("app.$store");
});

cy.getStore().its("getters.viewItems.length").should("equal", 13);
  

Это работает, но я получаю сообщение об ошибке на консоли при запуске Cypress:

 [Vue warn]: Property or method "nodeType" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties
  

Есть ли лучший способ доступа к геттерам или это что-то другое?

Комментарии:

1. Не уверен, что это поможет, но разработчики нашего проекта создали store.login команду отправки и помогли мне разработать этот код. cy.window() .then(window => { cy.wrap( window.$nuxt.$store.dispatch('login', { email: user.email, password: user.password, }) ) }) Мы разрабатываем приложение VUE, и оно не выдает эту ошибку, хотя я уже видел ее в компиляторе раньше, и, возможно, это поможет вам

2. Можете ли вы попробовать напрямую сравнить длину: cy.getStore().its("getters.viewItems").should('have.length',13) ?

3. @Otto Paulsen, без этого теста ошибка исчезает? мне кажется, что ошибка не в тесте.