小编Tom*_*ala的帖子

针对实际数据库测试 NestJS 服务

我希望能够针对实际数据库测试我的 Nest 服务。我知道大多数单元测试应该使用模拟对象,但有时也可以对数据库本身进行测试。

我已经搜索了 SO 和 Nest 的 GH 问题,并且开始达到所有答案的传递闭包。:-)

我正在尝试从https://github.com/nestjs/nest/issues/363#issuecomment-360105413工作。以下是我的单元测试,它使用自定义提供程序将存储库传递给我的服务类。

describe("DepartmentService", () => {
  const token = getRepositoryToken(Department);
  let service: DepartmentService;
  let repo: Repository<Department>;

  beforeEach(async () => {
    const module: TestingModule = await Test.createTestingModule({
      providers: [
        DepartmentService,
        {
          provide: token,
          useClass: Repository
        }
      ]
    }).compile();

    service = module.get<DepartmentService>(DepartmentService);
    repo = module.get(token);
  });
Run Code Online (Sandbox Code Playgroud)

一切都正确编译,TypeScript 似乎很高兴。但是,当我尝试执行createsave我的 Repository实例上执行时,底层Repository似乎未定义。这是堆栈回溯:

TypeError: Cannot read property 'create' of undefined

  at Repository.Object.<anonymous>.Repository.create (repository/Repository.ts:99:29)
  at DepartmentService.<anonymous> (relational/department/department.service.ts:46:53)
  at …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript typeorm nestjs

8
推荐指数
3
解决办法
1万
查看次数

访问 Apollo 服务器进行 NestJS GraphQL 测试

测试 Apollo GraphQL 服务器的标准方法是使用Apollo 测试客户端。该createTestClient方法需要一个server参数。GraphQLModule在 NestJS/TypeGraphQL 应用程序中,访问(Jest)测试内部创建的 Apollo 服务器的适当方法是什么?

apollo graphql nestjs

5
推荐指数
1
解决办法
1880
查看次数

标签 统计

nestjs ×2

apollo ×1

graphql ×1

javascript ×1

node.js ×1

typeorm ×1

typescript ×1