Node.js ловит асинхронные ошибки с помощью Jest - PullRequest
0 голосов
/ 12 октября 2019

У меня такое чувство, что я иду за борт и мне нужна проверка работоспособности, я использую шут с SuperTest

Q1) Если ожидание expect(res.status).toBe(400); не сработает, загорится ли ловушка?

Q2) Должен ли я throw error или throw New Error()

Q3) Шутка просто справляется с этим, и мне не нужен оператор try catch?

const testUrl = '/register';
const headers = ['Accept', 'application/json'];

it('should validate that the `email` has already been registered and throw 400 error', async (done) => {
    try {
        const res = await request(app).post(testUrl).set(headers).send({
            email: 'test@myDomain.com',
            fullName: 'test user',
            password: 'testPassword!',
        });
        expect(res.status).toBe(400);
        expect(res.body.message).toEqual('You have already registered');
    } catch (error) {
        error.message = `${error.message}\n\nfailing query: ${testUrl}`;
        throw error;
    } finally {
        done();
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...