节点pg客户端连接返回什么

时间:2019-04-23 17:37:33

标签: node.js postgresql mocha pg

一个非常简单的问题,我不知道是否可以回答。 问题是我正在运行一些测试来验证我是否使用mocha连接到了postgres数据库。我从我的client.connect()返回一个值,但是该值未定义,显然给我错误。所以问题是pg节点的client.connect返回什么。如果您还有其他方法可以用来测试连接,我也很想听听。

Mocha Test connectivity to DB

这非常接近,尽管我不确定他们如何验证是否通过,但我会使用它,因为我希望在不传递正确数据时测试失败,但在发送正确数据时通过测试。 / p>

   connectToTable: async function (client) {
     client = client || new Client({
        user: "my_user",
        host: "postgres",
        database: "my_database",
        password: "password123",
        port: 5432,
        max: 20,
        idleTimeoutMillis: 30000,
        connectionTimeoutMillis: 2000,
    });

    let resp = await client.connect()
    await expect(JSON.stringify(resp)).to.not.contain('Error');
    done() 

这是我在做什么。错误是。

 AssertionError: object tested must be an array, a map, an object, a set, 
 a string, or a weakset, but undefined given

我尝试弄乱打印出来,但是我什至不知道要打印什么,所以JSON字符串化就在我身边,弄乱了不同的想法。

因此我接受不同的测试方法。或解释我给出的另一个堆栈溢出示例的工作方式,以便我可以像这样设计测试。感谢您的帮助

1 个答案:

答案 0 :(得分:1)

Connect是异步的并且可以等待。因此,为了等待,底层函数必须返回一个promise。因此,connect返回一个承诺。