У меня есть экспресс-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();
});
});
});
Кто-нибудь знает, что я делаю не так?