typeorm - 测试我的课程方法的问题
问题描述
我一直在尝试用 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();
});
但我有这些错误。
你可以帮帮我吗?
解决方案
您需要在运行测试之前创建一个数据库连接。
beforeAll(async () => {
await createConnection()
})
推荐阅读
- java - 无法将值传递给 PreparedStatement - 跳过最后的第五个参数
- zebra-printers - 斑马打印机不打印拉丁字符
- sql - 处理源表中的重复项
- networking - DHCP 如何为网络分配唯一地址以及是否需要更改 DNS 查找
- php - 如何在codeigniter中显示/显示图像?
- elasticsearch - ElasticSearch 集群设计帮助 - 数据节点
- python - Pandas minute-data find-从现在到第一次出现(阈值)条件之间的第一个本地最小值
- postgresql - PostgreSQL 10 函数创建不起作用
- javascript - 将对象的键值对添加到另一个对象中
- arrays - 在数组聚合MongoDB中设置索引范围