【发布时间】:2021-11-08 09:01:49
【问题描述】:
我正在尝试测试我的 nestjs 应用程序,但我不太确定我必须编写什么样的测试,我想测试我的服务,所以为了测试它,我使用了 nestjs 提供的函数 createTestingModule ,这是我的代码
beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
providers: [DeliveryManService],
imports: [
TypeOrmModule.forFeature([UserRepository, DeliveryManRepository]),
PostgresProviderModule,
],
}).compile();
service = moduleRef.get<DeliveryManService>(DeliveryManService);
});
但不幸的是,我正在观看其他人的编码,而不是直接使用 typeorm 存储库,他们正在使用模拟来做这些事情,所以我想......
我的测试没用吗?
我应该只使用 mock 而不是 typeorm 提供程序来编写测试吗?
我写了什么样的测试?
编辑这些是我的测试:
it('should be defined', () => {
expect(service).toBeDefined();
});
it('should save and return a new delivery man', async () => {
const deliveryMan = await service.preRegister(preRegister);
expect(deliveryMan).toBeDefined();
expect(deliveryMan.id).toBeDefined();
});
it('should return an array of delivery man', async () => {
const deliveryMans = await service.findAll({ page: 1, limit: 100 });
expect(deliveryMans).toBeDefined();
expect(deliveryMans).toBeInstanceOf(Array);
expect(deliveryMans.length).toBeGreaterThanOrEqual(1);
});
【问题讨论】:
-
以上是一个测试设置,但您并没有显示您的测试实际在做什么。你在这里实际测试什么?看起来像是集成测试的开始,但没有更多信息就很难判断。
-
很抱歉,我现在就修改。
-
那些测试实际上是直接调用我的测试数据库,而不是调用模拟或类似的东西
标签: testing jestjs integration-testing nestjs typeorm