`toBeInstanceOf(Number)` 开玩笑不起作用
`toBeInstanceOf(Number)` does not work in jest
我有一个测试如下:
expect(result.data.quota).toBeInstanceOf(Number);
此测试失败并出现一个奇怪的错误,指出需要一个数字并且收到了一个数字:
expect(value).toBeInstanceOf(constructor)
Expected constructor: Number
Received constructor: Number
Received value: 2000
期望(值).not.toBeNaN();
编辑:我会选择@bszoms 解决方案:
expect(typeof value).toBe('number')
您也可以这样做:expect(typeof <value>).toBe('number')
或者您可以使用 jest-extended,它添加了整个范围的匹配器,包括 toBeNumber
。
均由讨论提供 here。
以下适用于所有构造函数:
expect(value).toEqual(expect.any(Number));
采用@stephan 的回答,这适用于基于异步/承诺的方法:
await expect(asyncFunction()).resolves.toEqual(expect.any(Number));
我有一个测试如下:
expect(result.data.quota).toBeInstanceOf(Number);
此测试失败并出现一个奇怪的错误,指出需要一个数字并且收到了一个数字:
expect(value).toBeInstanceOf(constructor)
Expected constructor: Number
Received constructor: Number
Received value: 2000
期望(值).not.toBeNaN();
编辑:我会选择@bszoms 解决方案:
expect(typeof value).toBe('number')
您也可以这样做:expect(typeof <value>).toBe('number')
或者您可以使用 jest-extended,它添加了整个范围的匹配器,包括 toBeNumber
。
均由讨论提供 here。
以下适用于所有构造函数:
expect(value).toEqual(expect.any(Number));
采用@stephan 的回答,这适用于基于异步/承诺的方法:
await expect(asyncFunction()).resolves.toEqual(expect.any(Number));