Как получить параметры сбойного случая в Python unittest? - PullRequest
4 голосов
/ 01 марта 2010

Я запускаю assertEqual контрольный пример для списка методов в определенном классе. Эти методы расширены от строковой формы до чего-то вызываемого с помощью getattr().

Как мне получить unittest, чтобы сообщить мне конкретный метод, который не удался? Значение: как я могу заставить unittest печатать, чтобы выводить конкретные параметры, которые вызвали ошибку assert?

Любой совет с благодарностью.

Спасибо

1 Ответ

5 голосов
/ 01 марта 2010

Вы можете передать assertEqual третий аргумент (технически четвертый, если вы считаете себя), который будет возвращать сообщение об ошибке. Таким образом, следующее должно делать более или менее то, что вы ищете:

class MethodTest(TestCase):
    def test_method(self):
        obj = MyClass()
        for method in "frob", "defrob", "refrob":
             self.assertEqual(getattr(obj, method)(), 42, "obj.%s() is not equal to 42" % method)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...