クラスを Jest でテストしようとしましたが、成功しませんでした。
例では、パラメーターを使用したメソッドがあります。プレイグラウンドで試してみると、満足のいく応答が得られますが、テストでは問題が発生しています。いくつかの例を見てきましたが、あまり役に立ちませんでした。ライブラリのドキュメントや例もありません。
@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層アプリケーションがあります。
私はこれらの2つの方法で試しました:
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();
});
しかし、これらのエラーがあります。
私たちを手伝ってくれますか?