Вы можете отслеживать статус теста, создав флаг в наборе тестов.
Объяснение.
Создайте флаг testStatus
в describe block
и две переменные счетчика (если вы хотите получить счетчик Failed
и passed
тестовых случаев). И установите начальное значение флага testStatus
на false
.
describe("Should count the test", () => {
let testStatus = false;
let passTests = 0;
let failedTest = 0;
//.... test cases
});
И в каждом тестовом примере в конце тестового набора установите значение flag
testStatus
на true
.
it("Should fail/Pass", () => {
expect(false).toBe(true);
testStatus = true;
});
Строка после expect
будет выполняться только в том случае, если контрольные примеры выполнены успешно, в противном случае значение flag
останется false
.
А теперь в afterEach
мы можем проверить, является ли значение flag
(testStatus
) истинным или ложным.
если значение равно false, тестовый случай не пройден, а если значение true
означает, что тестовый пример выполнен успешно.
И сбросьте значение flag (testStatus)
обратно на false.
afterEach(() => {
if (testStatus) {
passTests += 1;
} else {
failedTest += 1;
}
testStatus = false;
});
Надеюсь, это будет полезно.
Живой пример.