我正在尝试通过jestJS测试一个预期的对象
expect(object).toMatchObject({
content: 'some text',
timestamp: expect.any(Number)
})到目前为止,这是可行的,但是我想测试这个数字是否是一个有效的时间戳:/^(\d{10})?$/
不仅仅是任何数字。也许有更好的方法来做到这一点?
发布于 2018-01-18 22:26:02
我将保留您最初的断言来检查对象的形状,并且时间戳属性实际上是一个数字。
expect(object).toMatchObject({
content: 'some text',
timestamp: expect.any(Number)
})如果您真的想检查时间戳是否适合您的正则表达式,那么您可以在测试中添加另一个断言,将值转换为字符串(以便您可以使用内置于javascript中的.match() regex函数),并确保它返回true。
expect(object.timestamp.toString().match(/^(\d{10})?$/)).toBe(true)注意:您可能希望确保regex确实在检查您想要的内容。
https://stackoverflow.com/questions/48301072
复制相似问题