我正在写一个笑话测试,我想模拟一个服务,根据它的接口返回正确类型的对象。要返回的对象类型有一个复杂的构造函数,它需要大量的工作来创建并保持typescript的正确性。实现这一点的最佳/最简单的方法是什么(下面的代码示例)
import Auth, { CognitoUser } from '@aws-amplify/auth';
jest.mock('@aws-amplify/auth');
const mockedAuth = Auth as jest.Mocked<typeof Auth>;
const loggedInUser = new CognitoUser(); \\ Expected 1 arguments, but got 0.
mockedAuth.signIn.mockResolvedValue(loggedInUser);
在上面的代码中,测试将运行并创建CognitoUser的一个实例,其中所有函数都被截断,但TypeScript抱怨我没有传递所需的参数。有没有一种方法可以让它快乐而不添加@ts-ignore?
注意:构造函数所期望的参数是ICognitoUserData类型,它本身具有深入到许多级别的必需字段。