Cypress中如何让dob函数生成指定范围的随机日期数值?
修正指定区间随机整数生成函数
你的代码里错误使用了Math.random()——这个方法不接受任何参数,它只会返回0(包含)到1(不包含)之间的随机小数。要生成指定范围内的随机整数,需要自己实现区间转换逻辑。
修正后的完整代码
it('dates', ()=>{ cy.description('Leonel','Andress Messi') cy.get('#mat-input-4').type(dob()) // 生成 [min, max] 范围内的随机整数 function getRandomInt(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; } function dob() { var day = getRandomInt(10, 31) var month = getRandomInt(10, 12) var year = getRandomInt(1940, 2000) return `${month}/${day}/${year}` } })
关键说明
getRandomInt(min, max)函数会生成包含min和max的随机整数,完全匹配你需要的区间范围。- 用模板字符串
${month}/${day}/${year}替代字符串拼接,代码更简洁易读。 - 如果需要生成严格合法的日期(比如避免2月30日这种无效日期),可以在生成后额外做校验,或者借助日期库处理,但当前实现已满足你指定区间随机数的核心需求。
内容的提问来源于stack exchange,提问作者Roly
相关产品推荐
相关产品推荐

