Jestjs `toBeInstanceOf(数字)`不是开玩笑的
我有一个测试如下:Jestjs `toBeInstanceOf(数字)`不是开玩笑的,jestjs,babel-jest,Jestjs,Babel Jest,我有一个测试如下: expect(result.data.quota).toBeInstanceOf(Number); 此测试失败,出现一个奇怪的错误,表示预期有一个数字,但收到了一个数字: expect(value).toBeInstanceOf(constructor) Expected constructor: Number Received constructor: Number Received value: 2000 expect(value.not.
expect(result.data.quota).toBeInstanceOf(Number);
此测试失败,出现一个奇怪的错误,表示预期有一个数字,但收到了一个数字:
expect(value).toBeInstanceOf(constructor)
Expected constructor: Number
Received constructor: Number
Received value: 2000
expect(value.not.toBeNaN()
编辑:我会选择@bszoms解决方案:
expect(typeof value).toBe('number')
您也可以这样做:
expect(typeof).toBe('number')
或者您可以使用,它添加了一系列匹配器,包括toBeNumber
感谢讨论。所有施工人员的以下工作:
expect(value.toEqual(expect.any(Number))代码>采用@stephan的anwer,这适用于基于异步/承诺的方法:
await expect(asyncFunction()).resolves.toEqual(expect.any(Number));
这是错误的。例如,False不是NaN,也不是一个数字。这个答案必须明确避免。这将使您的测试成功,但NaN除外<代码>假
,一些字符串
,真
,承诺
,反应组件
你能说出它的名字吗