首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TS2345 -无法避免ts-在我的模拟上忽略

TS2345 -无法避免ts-在我的模拟上忽略
EN

Stack Overflow用户
提问于 2021-04-30 23:31:56
回答 1查看 137关注 0票数 0

我已经写了一个模拟程序,可以很好地工作,但我不能让它与@ts-ignore一起工作

代码语言:javascript
复制
describe('findAll', () => {
    it('should get all networks of the user', async () => {
      const userId = uuid();
      const allNetworksFromRepo = Array(3).fill(networkDataBuilder());
      const expectedNetworks = allNetworksFromRepo;

      const createQueryBuilder = jest
        .spyOn(networkRepo, 'createQueryBuilder')
        // @ts-ignore
        .mockImplementation(() => ({
          innerJoin: jest.fn().mockReturnThis(),
          where: jest.fn().mockReturnThis(),
          getMany: jest.fn().mockReturnValue(allNetworksFromRepo),
        }));

      const retrievedNetworks = await service.findAll(userId);

      expect(createQueryBuilder).toHaveBeenCalled();
      expect(retrievedNetworks).toStrictEqual(expectedNetworks);
    });
代码语言:javascript
复制
TS2345: Argument of type 
'() => { innerJoin: jest.Mock<any, any>; where: jest.Mock<any, any>; getMany: jest.Mock<any, any>; }'
 is not assignable to parameter of type 
'(alias?: string | undefined, queryRunner?: QueryRunner | undefined) => SelectQueryBuilder<Network>'.  

 Type
 '{ innerJoin: Mock<any, any>; where: Mock<any, any>; getMany: Mock<any, any>; }' 
is missing the following properties from type 
'SelectQueryBuilder<Network>': getQuery, subQuery, select, addSelect, and 94 more.
EN

回答 1

Stack Overflow用户

发布于 2021-05-01 00:14:09

这是一行代码。这个解决方案怎么样?

代码语言:javascript
复制
  // @ts-ignore
  const createQueryBuilder = jest
    .spyOn(networkRepo, 'createQueryBuilder')
    .mockImplementation(() => ({
      innerJoin: jest.fn().mockReturnThis(),
      where: jest.fn().mockReturnThis(),
      getMany: jest.fn().mockReturnValue(allNetworksFromRepo),
    }));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67336619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档