Я создал несколько модульных тестов с модулем python unittest и хочу добавить несколько обобщенных c утверждений, которые будут выполняться в конце каждого теста. Но я не хочу копировать эти утверждения в каждый тест. Есть ли способ сделать это?
Модуль unittest выполняет метод запуска для каждого теста. Там он будет: - получить метод теста через getattr (test_name) - выполнить настройку - выполнить метод теста - обработать результаты - выполнить разбор
Я попытался повторно реализовать getattribute и перенаправить getattr (test_name) другой функции, которая выполняет реальный тестовый пример, за которым следует обобщенный c. Но за счет повторной реализации getattribute время выполнения теста увеличилось на 400%, что недопустимо.
Я мог бы реализовать метод run локально (поэтому сделайте копию исходного и отрегулируйте это немного) но мне не нравится эта опция.
Могут ли декораторы классов помочь мне с этим? Или у кого-нибудь есть другие идеи?