Jest.js 获取错误- TypeError:无法读取未定义的属性(阅读“isSinonProxy”)

xqnpmsa8  于 12个月前  发布在  Jest
关注(0)|答案(1)|浏览(219)

我尝试使用aws-sdk-client-mock来模拟DocumentClient。

import  { mockClient } from 'aws-sdk-client-mock';
import { DocumentClient } from 'aws-sdk/clients/dynamodb';

const mockDocClient = mockClient(DocumentClient);

字符串
TypeError:Cannot read properties of undefined(阅读“isSinonProxy”)。
有谁知道我应该在哪里设置这个值?

1hdlvixo

1hdlvixo1#

你只需要在调用mockClient函数之前检查DocumentClient没有被模仿。
至少对我来说,这个错误发生在我试图模仿已经模仿了CognitoIdentityProviderClient类。

import { mockClient } from "aws-sdk-client-mock";
import {
    CognitoIdentityProviderClient,
    AssociateSoftwareTokenCommand,
} from "@aws-sdk/client-cognito-identity-provider";

jest.mock('@aws-sdk/client-cognito-identity-provider', () => ({
  CognitoIdentityProviderClient: jest.fn().mockImplementation(() => ({
    send: jest.fn(),
  })),
....

const cognitoIdentityProviderClientMock = mockClient(CognitoIdentityProviderClient);
cognitoIdentityProviderClientMock
    .on(AssociateSoftwareTokenCommand, {
      AccessToken: accessToken,
    })
    .resolves({});

字符串
在我的例子中,CognitoIdentityProviderClient的jest.mock部分导致了这个问题。

相关问题