Процесс узла был убит после вызова process.kill (SIGTERM), хотя я прослушал сигнал SIGTERM - PullRequest
0 голосов
/ 18 октября 2018

Я прослушал сигнал 'SIGTERM', чтобы сделать корректное выключение:

   // snippet of server.js 
   process.on('SIGTERM', () => {
        console.log('I will close database here.')
        process.exit(0)
   })

Я использовал Jest для выполнения теста, вот код ниже:

describe('on SIGTERM', () => {
 beforeAll(() => {
     process.exit = jest.fn(); // substituted by mock function
     return require('../server'); // run server.js
 });

 it('should exit with code 0', async () => {
     process.kill(process.pid, 'SIGTERM'); // the code killed my jest process immediately
     expect(process.exit).toHaveBeenCalledWith(0);
 })
})

Вотсообщение об ошибке ниже:

npm run test: сервер сервер / tests / server.spec.js

error Команда завершилась с кодом выхода 143.

Я был уверен, что process.exit был заменен фиктивной функцией, потому что я пытался вызвать process.exit (0), процесс поддерживается.Но process.kill немедленно убил мой процесс.

Почему это происходит?

Как правильно выполнить мой тест?(Я хочу проверить процесс. (SIGTERM))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...