测试类方法的问题

问题描述 投票:0回答:1

我一直在尝试用Jest测试我的课程,但没有成功。

在示例中,我有一个带有参数的方法,当我在playgroung上尝试它时,它的响应令人满意,但是在测试中却给我带来了问题,我看到了一些示例,但它们并没有太大帮助。该库也没有文档或示例。

@Resolver()
export class ProductoResolver {

  private productoServices: ProductoContract
  constructor(productoImpl: ProductoContract = new ProductoServices()){ this.productoServices  = productoImpl; }



  @Query(() => Producto, { description : 'Obtiene un producto especifico' })
  async getProductoById ( @Arg("productoId", { nullable: false }) productoId?: number ) {
    try {
      const data = await this.productoServices.obtenerProductoEspecifico(productoId);
      return data;
    } catch (err) {
      logger.error(err);
      throw new Error(err);
    }
  }
}

我有一个具有各层的n层应用程序:应用程序(解析类),域和体系结构。

我尝试了以下两种方法:

    it('tipo 1', async ()=> {

        schema = await buildSchema({
            resolvers: [ProductoResolver],
            validate: true,
        });

        const query = `          
        query{
            getProductoById(productoId: 500){
              codigo
              descripcion
              monedaoperacion
            }
          }`;

        const result = await graphql(schema, query);
        console.log('result: ', result);
        expect(result).toBeDefined();

    });

    it('tipo 2 ', async () => {
        const functions = new ProductoResolver();
        const data = await functions.getProductoById(500);
        console.log('tipo 2: ',data);
        expect(data).toBeDefined();

    });

而且我有这些错误。

error jest

您能帮我吗?

typeorm n-layer type-graphql
1个回答
0
投票

您需要在运行测试之前创建数据库连接。

beforeAll(() => {
   createConnection()
})
© www.soinside.com 2019 - 2024. All rights reserved.