我正在為我的休息呼叫 API 創建賽普拉斯測驗。無論如何,我需要驗證日期格式,例如,在我的 JSON 回應中,我有:
“檔案日期”:“2022-01-28”
因此,我需要驗證日期格式而不是其值。賽普拉斯“期望”有辦法驗證嗎?Idk,也許是這樣的:
expect(documentDate)to.have.format('yyyy-MM-dd');
如果有人可以幫助我,那就太好了。
謝謝。
uj5u.com熱心網友回復:
您可以為此使用正則運算式。您可以使用下面的正則運算式,它取自這個StackOverflow 執行緒。
/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/
在您的測驗中,您可以使用:
expect(documentDate).to.match(/^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/)
uj5u.com熱心網友回復:
您應該使用正則運算式來匹配您的日期格式。
\d是匹配任何數字字符 (0-9) 的正則運算式
{}是前一個記號的量詞
expect(documentDate).to.match(/\d{4}-\d{2}-\d{2}/)
uj5u.com熱心網友回復:
另一種方法是使用dayjs庫。
正則運算式的問題是它只檢查字符,而不是日期有效性
import dayjs from 'dayjs'
it('checks date string is a valid date', () => {
const documentDate = "2022-02-29" // not valid but passes with regex
const parsed = dayjs(documentDate, 'YYYY-MM-DD')
// fails with error "expected 2022-03-01 to equal 2022-02-29"
expect(parsed.format('YYYY-MM-DD')).to.eq(documentDate)
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441631.html
上一篇:如果存在特定變數,如何遍歷Google表格中的單元格并記錄資訊
下一篇:在PostMan上發送帖子請求
