Информация о выполняемом в данный момент тесте недоступна в beforeEach
. Подобно Jasmine, объект набора доступен в Jest как this
контекст в функции describe
, можно исправить определения spe c для предоставления необходимых данных. Более тривиальным способом было бы определить пользовательскую функцию-оболочку для глобального it
, которая перехватывает имя теста.
Пользовательский репортер - лучший способ сделать это. Интерфейс Reporter самодокументирован, необходимые данные: доступны в testResult
.
Уже доступны измерения производительности:
module.exports = class TimeReporter {
onTestResult(test, testResult, aggregatedResult) {
for (let { title, duration } of testResult.testResults)
console.log(`test '${title}': ${duration} ms`);
}
}
Можно использовать как:
reporters: ['default', "<rootDir>/time-reporter.js"]
Как уже было отмечено, существуют beforeAll
и afterAll
, они выполняются один раз на describe
тестовую группу.