Когда вы храните результаты тестов в `TestResult`, имеет смысл отказаться от `passed_lst` и `failed_lst`. В них содержится таже информация, что и в списке объектов `TestResult`.

В `test_result_lst` добавляйте сами объекты `TestResult`, например `test_result_lst.append(tst_result)`.

В этом случае метод `failed_tests` мог бы выглядеть так:

```python
def failed_tests(self):
    return [test_result.test_name
            for test_result in self.test_result_lst
            if test_result.test_result == TestRunner._FAILED]
```