2

目前我正在通过 jest.spyOn 模拟 jsforce 连接调用,我可以模拟 jsforce.Connection 的登录方法,但不能模拟 jsforce.Connection 的 sobject。如果我也嘲笑它,它会告诉我在该方法中发现了一些行,在该方法中我通过检查记录错误和响应

这是我正在做的例子 -

    const userInfo: UserInfo = { id: '0001', organizationId: '0001200', url: 'https://test.salesforce.com/id/0001/001200' };
    const successResult: RecordResult[] = [{ id: 'A0001', success: true }];
    const sObject: any = { upsert: () => { return Promise.resolve(successResult) } };
    jest.spyOn(salesforceAuthService, 'searchAccount').mockReturnValue(Promise.resolve('A0001'));
    jest.spyOn(jsforce.Connection.prototype, 'login').mockReturnValue(Promise.resolve(userInfo));
    jest.spyOn(jsforce.Connection.prototype, 'sobject').mockImplementation().mockReturnValue(sObject);

此外,如果我将类型赋予 SObject 的 sObject,那么它会给我一个错误(突出显示 upsert),它无法将类型 RecordResult[] 分配给 RecordResult。如果我做替代它会给出无法将 RecordResult 分配给 RecordResult[] 的问题

4

0 回答 0