首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Cypress JS测试中,如何比较UI上的日期与存储在MySQL数据库中的日期?

在Cypress JS测试中,如何比较UI上的日期与存储在MySQL数据库中的日期?
EN

Stack Overflow用户
提问于 2022-10-21 09:33:17
回答 1查看 40关注 0票数 1

在我的Cypress测试中,我试图将从MySQL DB检索到的日期值与UI上显示的日期进行比较。

以下是我的断言:

代码语言:javascript
运行
复制
cy.compareDates(result[0].publishdate, companyDetails.publishedDate())

result[0].publishdate是从数据库检索的值- 2022-02-14 16:45:37 (下面的expectedDate)。

companyDetails.publishedDate()是包含文本14-Feb-2022 (下面的actualDate)的UI元素。

下面是我的compareDates()函数:

代码语言:javascript
运行
复制
Cypress.Commands.add('compareDates', (expectedDate, actualDate) => {
  actualDate.then(date => {
    const reformattedDate = new Date(date.text())
    cy.log('reformat: ' + reformattedDate)
    cy.log('ISO string: ' + reformattedDate.toISOString().split('T')[0])
    // expect(reformattedDate.toISOString().split('T')[0]).to.equal(expectedDate.split('T')[0])
  })
})

我已注释掉的断言返回此失败:

下面是正在使用的值:

改格式日期:2015年9月11日星期五: 00:00:00 GMT+0100 (英国夏季时间) ISO字符串: 2015-09-10

奇怪的是,该函数使用的日期如下:

改格式日期:2007年2月28日星期三00:00:00 GMT+0000 (格林威治标准时间) ISO字符串: 2007-02-28

EN

Stack Overflow用户

发布于 2022-10-21 09:55:48

回到原来的问题

在我的Cypress测试中,我试图将从MySQL DB检索到的日期值与UI上显示的日期进行比较。 UI上出现的值是14-Feb-2022。 数据库中的值是2022-02-14 16:45:37

因为它们都是字符串(来自注释),所以可以使用将它们与较少的麻烦进行比较。

基本上,dayjs非常擅长将日期字符串解析为date对象(不过,文档有点简单)。

例如:

代码语言:javascript
运行
复制
const dayjs = require('dayjs')

it('tests my dates', () => {
  
  const dateFromUI = dayjs('14-Feb-2022')
  const dateFromDb = dayjs('2022-02-14 16:45:37')

  console.log(dateFromField, dateFromDb)
})

您可以从dayjs(myDateString)获得对象,这些对象具有日期的每个部分的属性。

因此,如果您想比较年、月、日和忽略时间

代码语言:javascript
运行
复制
expect(dateFromUI.$y).to.eq(dateFromDb.$y)
expect(dateFromUI.$M).to.eq(dateFromDb.$M)
expect(dateFromUI.$D).to.eq(dateFromDb.$D)

还有其他方法来进行比较,例如,$d属性具有字符串表示形式Mon Feb 14 2022 16:45:37,您可以进行子字符串比较以忽略时间部分。

或者有diff方法,例如:

代码语言:javascript
运行
复制
dateFromUI.isSame(dateFromDb, 'day')  // returns true
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74151652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档