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除外<代码>假
一些字符串
承诺
反应组件
你能说出它的名字吗