Я долго искал множество тем о том, как отключить сервер http
на nodejs
.
Я не смог найти простой способ протестировать свое веб-приложение.
Я пытаюсь протестировать свой сервер, пишу интеграционный тест.
Я тоже хочу смоделировать ошибки, поэтому запускаю сервер с разными конфигурациями.
Например:
const app = express()
...
app.use('/route', createRouter(argA, argB)
const server = http.createServer(app)
Я хочу проверить, что если argA
выдает ошибку, мой сервер вернет 500
,
, а также argB
.
Итак, я хочу запустить сервер смакет argA
, который выбрасывает,
затем закрывает сервер и запускает его снова с макетом argB
, который выбрасывает.
Но сервер http
nodejs
не закрываетсяподключенных сокетов,
, поэтому я не могу сделать что-то вроде этого:
beforeEach((done) => server.start(done))
afterEach((done) => server.stop(done))
Где start
выполнить listen
и stop
выполнить close
.
Сервер не запускается, так какport
уже используется.
Как мне удается запустить и остановить сервер с различными конфигурациями?