Необработанная ошибка отклонения обещания при тестировании с жасмином - PullRequest
1 голос
/ 01 июля 2019

Сервер работает (проверено почтальоном). Код также работает, если я запускаю сервер и удаляю обработчики beforeAll и afterAll. Консольный вывод: Приложение слушает порт 3200! после запуска сервера Я не понимаю, в чем проблема.

import request from 'request';
import { start, stop } from '../src/server';



describe('A suite', function () {

  beforeAll(async () => {
    await start();
  });

  afterAll(async () => {
    await stop();
  });

  it('server test', async () => {
    const data = { tableName: 'supply' };

    console.log('after server start');

    const response = await new Promise((resolve, reject) => {
      request.post({
        url: 'http://localhost:3200/getTable',
        json: data
      }, (error, response, body) => {
        if (error) {
          reject(body);
        } else {
          resolve(body);
        }
      });
    });

    console.log(response);
  });
});
const start = async (): Promise<void> => {
  await new Promise((resolve, reject) => {
    server = app.listen(port, () => {
      console.log(`App listening on port ${port}!`);
      resolve();
    });
  });
}

const stop = async (): Promise<void> => {
  await new Promise((resolve, reject) => server.close(() => {
    console.log('App closed successfully')
    resolve();
  }));
}

Я обнаружил, что проблема в том, что при запуске тестов невозможно установить соединение с базой данных. Любая идея, как я могу создать соединение с базой данных, когда я запускаю Жасмин? В чем разница между вызовом start () из теста или просто запуском npm start. Когда я использую npm start, все работает нормально, но когда я звоню из jasmine, соединение с БД невозможно.

Это проблема машинописного текста, что-то вроде тестов, запускаемых с узлом, но они должны выполняться с ts-узлом. Я запускаю тест с помощью команд: tsc; жасмин.

1 Ответ

0 голосов
/ 01 июля 2019

Я решил это, используя Жасмин-TS .проблема заключалась в том, что я запускал свои тесты с tsc;жасмин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...