Laravel 未能按升序比较Cypress上以秒为单位的日期

Laravel 未能按升序比较Cypress上以秒为单位的日期,laravel,datetime,automated-tests,cypress,Laravel,Datetime,Automated Tests,Cypress,我无法与柏树中的日期进行比较 我有这些日期 按升序排列,证人必须证明这一点 对于cypress,我启动了这个测试,比较日期是否按升序排序: var time = 0 var time_prev = 0 cy.get('#hometable > tbody > tr > td:nth-child(6)').each(($e, index, $list) => { if (index == 0){time_prev=0}

我无法与柏树中的日期进行比较

我有这些日期

按升序排列,证人必须证明这一点

对于cypress,我启动了这个测试,比较日期是否按升序排序:

var time = 0 
var time_prev = 0   
cy.get('#hometable > tbody > tr > td:nth-child(6)').each(($e, index, $list) => {
                if (index == 0){time_prev=0}
                time = Math.round(new Date($e.text()).getTime() / 1000)
                assert.isBelow(time_prev, time, 'previous date is below actual')
                time_prev = time
            })
测试失败,出现以下错误:

但正如你从第一张图片中看到的,第二个日期比第三个日期小


我还注意到,当我同时运行多个测试时,该测试失败。

这里有一个很好的针对和的cypress解决方案,以及一个可能的解决方案

var time = 0 
var time_prev = 0   
cy.get('#hometable > tbody > tr > td:nth-child(6)').each(($e, index, $list) => {
                if (index == 0){time_prev=0}
                time = $e.text()
                expect(Cypress.moment(time).isAfter(Cypress.moment(time_prev)).to.be.true;
                time_prev = time
            })

这里有一个很好的柏树和解决方案,以及一个可能的解决方案

var time = 0 
var time_prev = 0   
cy.get('#hometable > tbody > tr > td:nth-child(6)').each(($e, index, $list) => {
                if (index == 0){time_prev=0}
                time = $e.text()
                expect(Cypress.moment(time).isAfter(Cypress.moment(time_prev)).to.be.true;
                time_prev = time
            })

我建议不要使用round,因为JS不是最好的数学家。在一起进行测试时-尝试将测试用例分离到它自己的文件中,这样就可以确保没有其他用例干扰它。@bigeyes如果创建两个数组,则一个数组是通过按下each元素来创建的。现在,我们对同一数组进行排序,并将其保存为一个新数组。然后比较两者,如果它们相同,一切都好,如果不是,我们抛出一个错误,这能解决您的用例吗?@Alapandes我只需要显示日期是按升序排列的。仅此而已,我建议不要使用round,因为JS不是最好的数学家。在一起进行测试时-尝试将测试用例分离到它自己的文件中,这样就可以确保没有其他用例干扰它。@bigeyes如果创建两个数组,则一个数组是通过按下each元素来创建的。现在,我们对同一数组进行排序,并将其保存为一个新数组。然后比较两者,如果它们相同,一切都好,如果不是,我们抛出一个错误,这能解决您的用例吗?@Alapandes我只需要显示日期是按升序排列的。仅此而已,testeach函数()的作用是{}TypeError time.isAfter不是一个函数cypress/integration/e2e_new_processing.spec.js:78:37 76 | if(index==0){time_prev=0}77 | time=$e.text()>78 | expect(time.isAfter(time_prev))是真的79 | time_prev=time 80 |})81 |。我编辑了这个建议-链接提供了参考的其他解决方案错误时刻没有定义我不知道如何定义时刻它被定义为cypress实用程序。尝试在我使用momenteach函数()的地方使用Cypress.moment{}TypeError time.isAfter不是Cypress/integration/e2e_new_processing.spec.js:78:37 76 | if(index==0){time_prev=0}77 | time=$e.text()>78 | expect(time.isAfter(time_prev))是真的79 | time_prev=time 80 |})81 |。我编辑了这个建议-链接提供了参考的其他解决方案错误时刻没有定义我不知道如何定义时刻它被定义为cypress实用程序。试着在我用过的地方用Cypress.矩