JestJS:测试预期对象内部的有效时间戳

b1payxdu  于 12个月前  发布在  Jest
关注(0)|答案(1)|浏览(94)

我正在尝试通过Jest测试预期对象

expect(object).toMatchObject({
  content: 'some text',
  timestamp: expect.any(Number)
})

到目前为止,这是有效的,但我想测试这个数字是否是有效的时间戳:/^(\d{10})?$/
不只是任何数字。也许有更好的方法来做到这一点?

frebpwbc

frebpwbc1#

我会保留你最初的Assert来检查你的对象的形状,以及时间戳属性实际上是一个数字。

expect(object).toMatchObject({
  content: 'some text',
  timestamp: expect.any(Number)
})

如果你真的想检查timestamp是否适合你的正则表达式,那么你可以在测试中添加另一个Assert,将值转换为字符串(这样你就可以使用JavaScript内置的.match()正则表达式函数),并确保它返回true。

expect(object.timestamp.toString().match(/^(\d{10})?$/)).toBe(true)

注意:你可能需要确保regex真的在检查你想要的东西。

相关问题