Код Senior Отчётность и Allure обновлено
Итог прогона по результатам Allure
Условие
Дан массив результатов Allure { name, historyId, status, start, stop } (время в мс). Один тест мог выполняться несколько раз (ретраи): у таких результатов одинаковый historyId, итоговым считается результат с наибольшим stop. Напишите allureStats(results), вернуть { total, passed, failed, broken, skipped, unknown, retried, durationMs }:
- счётчики статусов по итоговым результатам,
totalчисло уникальныхhistoryId; retriedчисло тестов, у которых было больше одного результата;durationMsэто максимальныйstopминус минимальныйstartпо всем результатам, для пустого массива 0.
Примеры
allureStats([{"name":"a","historyId":"h1","status":"passed","start":0,"stop":100}, {"name":"b","historyId":"h2","status":"failed","start":50,"stop":300}]) // {"total":2,"passed":1,"failed":1,"broken":0,"skipped":0,"unknown":0,"retried":0,"durationMs":300}
allureStats([{"name":"a","historyId":"h1","status":"failed","start":0,"stop":100}, {"name":"a","historyId":"h1","status":"passed","start":120,"stop":200}]) // {"total":1,"passed":1,"failed":0,"broken":0,"skipped":0,"unknown":0,"retried":1,"durationMs":200}
allureStats([]) // {"total":0,"passed":0,"failed":0,"broken":0,"skipped":0,"unknown":0,"retried":0,"durationMs":0}
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.