如何在Angular应用程序的Cypress测试中公开/访问数据存储状态?

时间:2019-07-29 08:27:16

标签: angular testing cypress ngrx-store

我正在尝试为使用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进行操作。我真正想要的是商店的状态以直接对其进行操作。

0 个答案:

没有答案