如何测试Jest'解析'结果中的属性是否具有某些值

时间:2018-02-10 18:00:30

标签: javascript unit-testing jestjs

我有一个方法可以返回一个解析为对象的promise:

{ email: 'an@email.com', otherValue: 'otherValue'}

然后我为它写了一个测试:

test('myFunction should build information correctly', () => {
    return expect(myFunction()).resolves.email.toBe('an@email.com');
});

如果我resolves.toBe('an@email'),我当然会收到错误,因为它不是:

{ email: 'an@email.com', otherValue: 'otherValue'}

但如果我尝试访问电子邮件属性,我会得到:

TypeError: Cannot read property 'toBe' of undefined

我缺少什么?,因为结算不是承诺(它没有当时的方法)。

1 个答案:

答案 0 :(得分:2)

使用expect(myFunction()).resolves.toHaveProperty("email", "an@email.com");因为resolves不是您的承诺解析值,它是Jest对象。