#python #unit-testing #python-unittest
#python #модульное тестирование #python-unittest
Вопрос:
Я проверял онлайн-документацию unittest.TestResult. Если я правильно понимаю, экземпляр этого класса имеет два итеративных атрибута: errors
и failures
которые возвращают экземпляры unittest.TestCase
. И затем, используя unittest.TestCase.id()
метод, можно получить абсолютный путь пакета к test_*
методу (включая его имя), который был вызван и выполнен.
Однако я не нашел ни одного атрибута, unittest.TestResult
позволяющего найти список успешных тестов (после запуска a unittest.TestSuite
).
Итак, мой вопрос в том, как следует действовать, чтобы их найти?
Ответ №1:
Наконец, то, что я сделал, использовало наследование. Поэтому я расширил unittest.TestResult
класс и добавил новый атрибут, список для отслеживания успешных тестов. Список обновляется следующим способом : wasSuccessful()
. Исходя из документации, для этого метода нет реализации по умолчанию, поэтому я переопределил его в своем расширенном классе, чтобы достичь того, что я искал.
Комментарии:
1. Спасибо за публикацию вашего решения. Трудно поверить
unittest.TestResult
, что он не содержит списка пройденных тестов, не так ли! Вы хотели сказать, что вы переписалиaddSuccess(self,test)
метод?wasSuccessful()
Метод не имеет test в качестве параметра, поэтому у меня это не работает.addSuccess
работает для меня, но у меня возникают проблемы с перечислением точных именsubTests
проходящих тестов… Это важно для меня.