Я использую реагирование с редуксом и тестирование с кипарисом, я смог получить доступ к хранилищу, используя cy.window (). Its ('store'). Invoke ('getState'). Then ((state) =>{} Но как мне получить доступ к локальному состоянию компонента, а не к хранилищу приложений?
Я пытался
cy.get('.simple-component').its('getState')
или
cy.get('.simple-component').invoke('getState')
, но Cypress возвращает "CypressError: Истекло время ожидания повторной попытки: cy.invoke () допустил ошибку, так как свойство: 'getState' не существует для вашей темы "И на консоли Cypress (в chrome) это приводит к выводу:
Yielded:
<div class="simple-component" getstate="[object Object]"></div>
Кажется, это вызваноReact удаляет методы из DOM, поэтому мне нужен доступ к нему в React, а не в DOM?
import React, { Component } from 'react';
class simpleComponent extends Component {
constructor(props) {
super(props)
this.state = {
sample: "hello"
}
}
// getState() just for testing on cypress
getState() {
return this.state
}
render(){
return <div className="simple-component" getState={this.getState()}></div>
}
}
В качестве альтернативы я могу экспортировать состояние локального компонента в конце простого компонента, используяwindow.store?