Тест завершится неудачей только в случае возникновения ошибки.
Утверждение expect(true).toBe(false);
выдаст ошибку, которую Jest обнаружит и запишет тест как неудачный.
Однако использование блока try-catch перехватит ошибку и позволит вам обработать ее, когда вы будете sh.
. В вашем случае вы просто регистрируете консоль, чтобы больше не было ошибок для Jest поймать ... значит, тест пройден.
Если вы повторно выбросите ошибку в блоке catch
, Jest перехватит ее и провалит тест:
test("test", () => {
try {
expect(true).toBe(false);
} catch (err) {
console.log(err);
throw err; // <— Re-throw error
}
});
Надеюсь, это поможет.