Witam, przejdę od razu do konkretów. Mam aplikacje w Node/Express i chcę napisać testy automatyczne z użyciem Jest. Mój dylemat jest następujący:
const request = require('supertest');
// konfiguracja aplikacji dla trybu testowego
const dotenv = require('dotenv');
dotenv.config({ path: './config.test.env' });
const createApp = require('../server');
(async () => {
// czekamy aż aplikacja się utworzy
const app = await createApp();
// uruchamiamy testy...
// przykładowy test, który będzie wymagał obiektu app do działania
test('some test', () => {
expect(2+2).toBe(4);
});
})();
Gdyby wywołanie test() znajdowało się przed await createApp() to wszystko było by w porządku.
Jednak w mojej obecnej konfiguracji, dostaje przewidywalny komunikat:
Your test suite must contain at least one test.
Specjalnie się temu nie dziwie.
Zdałem sobie jednak sprawę, że nie mam pojęcia jak sprawić żeby Jest poczekał na wywołanie testu. Potrzebuje przecież wcześniej załadować aplikację, żeby później ją używać.
Szukałem informacji, ale nic nie udało mi się znaleźć.
Będę wyjątkowo wdzięczny za pomoc w tej sytuacji Pozdrawiam serdecznie :)