Код Middle pytest и фикстуры обновлено
Разбор итоговой строки pytest
Условие
Напишите parse_summary(line), которая разбирает итоговую строку pytest, например
=========== 3 failed, 45 passed, 2 skipped, 1 xfailed in 12.34s ===========
Вернуть словарь с ключами passed, failed, skipped, xfailed, xpassed, errors, warnings, deselected (отсутствующие равны 0) и duration (float, секунды). Слова error и warning в единственном числе считаются как errors и warnings. После времени может идти уточнение в скобках, например in 65.20s (0:01:05).
Примеры
parse_summary("=== 3 failed, 45 passed, 2 skipped, 1 xfailed in 12.34s ===") // {"passed":45,"failed":3,"skipped":2,"xfailed":1,"xpassed":0,"errors":0,"warnings":0,"deselected":0,"duration":12.34}
parse_summary("==== 10 passed in 0.52s ====") // {"passed":10,"failed":0,"skipped":0,"xfailed":0,"xpassed":0,"errors":0,"warnings":0,"deselected":0,"duration":0.52}
parse_summary("== 1 failed, 1 error in 3.00s ==") // {"passed":0,"failed":1,"skipped":0,"xfailed":0,"xpassed":0,"errors":1,"warnings":0,"deselected":0,"duration":3}
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.