我正在尝试为使用ngrx-store的Angular 7应用程序创建一些赛普拉斯测试。我希望将一些数据预加载到存储中,以便随后测试UI。不幸的是,我不确定如何在不使用分派的情况下直接将所需数据加载到存储中。
我已经设法暴露了商店,如本示例(How to expose/access a data store like Redux within a cypress test?中所述),但是我想直接操作状态而无需调度动作。我的猜测是我需要为商店/状态设置特定于测试的初始状态
这是我到目前为止所做的:
// in app.component
if (window.Cypress) {
// @ts-ignore
window.__appStore__ = store$;
}
// in the test
cy.window().then(w => {
console.log(w.__appStore__);
}
以上工作正常。我得到了商店,但只能通过其API进行操作。我真正想要的是商店的状态以直接对其进行操作。