Что возвращает узел pg Client connect - PullRequest
0 голосов
/ 23 апреля 2019

Довольно простой вопрос, можно ли на него ответить, я не знаю.Проблема в том, что я запускаю несколько тестов, чтобы проверить, подключился ли я к базе данных postgres, используя mocha.Я возвращаю значение из моего client.connect (), однако оно не определено и, очевидно, дает мне ошибки.Таким образом, вопрос в том, что возвращает client.connect для узла pg.Если у вас есть другой метод, который я мог бы реализовать для проверки соединения, я бы тоже хотел его услышать.

Проверка связи Мокко с БД

Это довольно близко, и я бы хотелиспользуйте его, хотя я не уверен, как они проверяют, проходит ли он или нет, так как я хочу, чтобы мой тест не прошел, когда я не передаю правильные данные, но проходит, когда я отправляю правильные данные.

   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 stringify как раз от меня возится с разными идеями.

Так что я открыт для различных методов тестирования.Или объяснение того, как пример, который я привел о другом переполнении стека, работает так, чтобы я мог разработать свой тест таким образом.Любая помощь приветствуется

1 Ответ

1 голос
/ 23 апреля 2019

Соединение является асинхронным и ожидаемым. Таким образом, чтобы быть ожидаемым, базовая функция должна возвращать обещание. Итак, connect возвращает обещание.

...