【问题标题】:Stub "new Date()" with Cypress使用 Cypress 存根“new Date()”
【发布时间】:2020-06-24 20:20:35
【问题描述】:

在我的测试中,“new Date()”返回当前日期,但我希望它返回一个常量对象。但我不知道如何存根。我想要的示例:

cy.stub(Date, 'constructor', () => {
  return new Date(2020, 6, 24, 22, 19, 00)
})

如何做到这一点?谢谢

【问题讨论】:

    标签: cypress stub


    【解决方案1】:

    试试这个方法:

    cy.clock(new Date(2020, 6, 24, 22, 19, 00), ['Date'])
    

    【讨论】:

      【解决方案2】:

      参考:Specify a now timestamp

      app 代码中:

      // element
      <div id="mockedDate"></div>
      
      // script
      document.getElementById('mockedDate').innerText = new Date();
      
      it('stub date', () => {
          cy.clock(new Date(2020, 6, 24, 22, 19, 0).getTime());
          cy.visit('http://localhost:8081/?j=test');
          cy.get('#mockedDate').invoke('text').then(cy.log);
      });
      

      【讨论】:

      • 我试过这个,但是有了这个,一些 DOM 元素不是可点击的。我不知道为什么。
      • 不确定为什么您认为它可能相关?
      猜你喜欢
      • 2015-10-13
      • 2021-04-09
      • 2020-04-16
      • 2017-06-18
      • 2018-07-03
      • 2017-08-08
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      相关资源
      最近更新 更多