В методе After или afterEach невозможно остановить httpServer в chai-http - PullRequest
0 голосов
/ 31 мая 2019

У меня есть экспресс-http-сервер в nodeJS, и я использую чай мокко для юнит-тестов или интеграционных тестов. Эти тесты работают нормально, но после теста сервер должен остановиться. Но сервер никогда не останавливается. Я перепробовал много возможностей, которые закомментированы в коде ниже. Я вижу, что все функции вызываются, кроме agent.close (). не выполняется или игнорируется сервером.

Я смотрел на этих сайтах:

И на этом сайте указано, что метод, который я использую, является правильным, но он не работает:

Вот мой код.

import * as chai from 'chai';
import { expect } from 'chai'
import chaiHttp = require('chai-http');

import { app } from '../../server';

//let testServer;

chai.use(chaiHttp);
chai.should();

describe('Relaties', () => {
    let agent = chai.request.agent(app);

    beforeEach(function (done) {
        console.log('outer describe - beforeEach');

        //testServer = require('../../server')

        agent
            .put('/api/ehrm-klantnr/medewerker/login')
            .send({ email: 'admin@sfgtest.com', wachtwoord: '<secret>' })
            .then(function (res) {
                expect(res).to.have.cookie('SESSIONID');
                done();
            });
    });

    afterEach(function (done) {
        console.log('Describe - After');
        agent.close();

        //delete require.cache[require.resolve( '../../server' )]

        done();

        //server.close();
        //agent.close();
        //testServer.close();

    });


    describe('Ophalen alle relaties met: GET /api/ehrm-klantnr/relatie', () => {
        it('should get alle relaties', (done) => {

            agent.get('/api/ehrm-klantnr/relatie')
                .set('meta', '1')
                .then(function (res) {
                    expect(res).to.have.status(200);
                    done();
                });
        });
    });

Кто-нибудь знает, что я делаю не так?

...