首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >E2E测试NestJS

E2E测试NestJS
EN

Stack Overflow用户
提问于 2022-09-17 20:09:59
回答 1查看 134关注 0票数 -1

我是NestJS的新手,我试图设置我的端到端测试。它不会抛出任何错误,但是请求总是返回404。测试结果如下:

代码语言:javascript
复制
import { CreateProductDto } from './../src/products/dto/create-product.dto';
import { ProductsModule } from './../src/products/products.module';
import { Product } from './../src/products/entities/product.entity';
import { Repository } from 'typeorm';
import { INestApplication } from '@nestjs/common';
import * as request from 'supertest';
import { createTypeOrmConfig } from './utils';
import { Test, TestingModule } from '@nestjs/testing';
import { TypeOrmModule } from '@nestjs/typeorm';

describe('ProductsController (e2e)', () => {
  let app: INestApplication;
  let productRepository: Repository<Product>;

  beforeEach(async () => {
    const config = createTypeOrmConfig();

    const moduleFixture: TestingModule = await Test.createTestingModule({
      imports: [
        TypeOrmModule.forRoot(config),
        TypeOrmModule.forFeature([Product]),
        ProductsModule,
      ],
    }).compile();

    app = moduleFixture.createNestApplication();
    productRepository = moduleFixture.get('ProductRepository');

    await app.init();
  });

  afterAll(async () => {
    await app.close();
  });

  it('create', async () => {
    // Arrange
    const createProductDto = new CreateProductDto();
    createProductDto.name = 'testname';
    createProductDto.description = 'testdescription';
    createProductDto.price = 120;
    createProductDto.image = 'testimage';

    // Act
    const response = await request(app.getHttpServer())
      .post(`/api/v1/products`)
      .send(createProductDto);

    // Assert
    expect(response.status).toEqual(201);
  });
});

我预期它会返回一个201的响应。我尝试了更多的路线,和以前一样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-17 20:14:04

你的ProductsController上有ProductsController吗?如果没有,您就不会将测试应用程序配置为从/api/v1获得服务,您需要设置全局前缀并启用版本控制(假设您通常在main.ts中这样做)。对于一个简单的修复,从/api/v1方法中删除.post()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73758195

复制
相关文章

相似问题

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