赛普拉斯测试-Redux存储为空

时间:2020-02-11 12:29:55

标签: reactjs testing redux cypress redux-saga

所以我对赛普拉斯有一点问题。我试图用它进行一些端到端测试。对于上下文,在项目中,我使用react(功能组件和挂钩),redux和redux-saga作为中间件。 因此,我基本上是通过POST请求登录到该应用程序的,因此我得到了一个登录cookie,该应用程序不会将我注销。然后我转到了应用程序中的页面之一。应该发生一些事情:

  1. 获取用户数据的调用(有效,我得到正确的数据作为响应)

2。用户数据应保存在redux存储中。

  1. 此后的另一个调用是获取页面的一些数据,它使用在点1中获取的用户数据。

第二步和第三步不起作用,因为步骤3中我的通话正文中的用户ID为空。在测试期间,我在应用程序中console.logged记录了整个redux状态,并且确实为空。因此,看起来redux-saga或redux本身在保存数据方面存在一些问题。不过,这有点怪异,因为cypress无法访问这些地方,因此它可以在应用程序的已部署版本上运行...(在应用程序中,当然一切正常) 有没有人遇到过这样的问题,或者有我该如何解决的想法? 我对上下文的测试:

 context('TEST', () => {
  it('test', () => {
    cy.request({
      method: 'POST',
      url: 'someUrl',
      body: JSON.stringify({ email: 'someEmail', password: 'somePassword' }),
      failOnStatusCode: false
    });
    cy.wait(2000); /* this was added when the test didn't work already, i thought it just might be some timing issue */
    cy.visit('someRoute');

  });
});

0 个答案:

没有答案