我正在尝试通过Jest测试预期对象
expect(object).toMatchObject({ content: 'some text', timestamp: expect.any(Number) })
到目前为止,这是有效的,但我想测试这个数字是否是有效的时间戳:/^(\d{10})?$/不只是任何数字。也许有更好的方法来做到这一点?
/^(\d{10})?$/
frebpwbc1#
我会保留你最初的Assert来检查你的对象的形状,以及时间戳属性实际上是一个数字。
如果你真的想检查timestamp是否适合你的正则表达式,那么你可以在测试中添加另一个Assert,将值转换为字符串(这样你就可以使用JavaScript内置的.match()正则表达式函数),并确保它返回true。
expect(object.timestamp.toString().match(/^(\d{10})?$/)).toBe(true)
注意:你可能需要确保regex真的在检查你想要的东西。
1条答案
按热度按时间frebpwbc1#
我会保留你最初的Assert来检查你的对象的形状,以及时间戳属性实际上是一个数字。
如果你真的想检查timestamp是否适合你的正则表达式,那么你可以在测试中添加另一个Assert,将值转换为字符串(这样你就可以使用JavaScript内置的.match()正则表达式函数),并确保它返回true。
注意:你可能需要确保regex真的在检查你想要的东西。