I've used jest and supertest for integration tests. In afterEach section I closed server:
let server;
describe('/api/user', () => {
beforeEach(() => {
server = require('../../../app');
});
afterEach(async () => {
await server.close();
});
//some tests
});
But by running npm test
I get this error:
listen EADDRINUSE: address already in use :::3200
When I using just one something.test.js file, everything is OK. The problem is when I add a new something.test.js. What's wrong?
Here is the package.json:
{
"name": "users",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "jest --watchAll"
},
"author": "Saeed Heidarbozorg",
"license": "ISC",
"dependencies": {
"config": "^3.3.4",
"express": "^4.17.1",
"express-async-errors": "^3.1.1",
"joi": "^17.4.0",
"morgan": "^1.10.0",
"pg": "^8.5.1",
"winston": "^3.3.3"
},
"devDependencies": {
"jest": "^26.6.3",
"supertest": "^6.1.3"
}
}