TypeScript - Jest 的 mockResolvedValueOnce 方法中实体上的“不可分配给永不类型”错误

asu*_*sus 3 typescript jestjs nestjs

我已经看到在原始类型中解决了这个错误,但我不确定在这个例子中我将如何解决它

const newUser: UserEntity = {
      user_id: 'f3bea6de-fb24-4441-b75b-d7642ca573d7',
      name: 'Test User',
    };

jest.spyOn(repo, 'create').mockResolvedValueOnce([newUser]); // error here on [newUser] - 'UserEntity' is not assignable to type 'never'
Run Code Online (Sandbox Code Playgroud)

用户实体.ts

@Entity('users')
export class UserEntity {
  @PrimaryGeneratedColumn('uuid') user_id: string;
  @Column('text') name: string;
}
Run Code Online (Sandbox Code Playgroud)

Jay*_*iel 6

repo.create是一个同步函数,但mockResolvedValue用于返回promises 的异步函数。相反,使用mockReturnValueOnce,你不会有任何问题。