2010-03-01 1 views
4

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

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

Любые советы очень ценятся.

Благодаря

ответ

5

Вы можете передать 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) 
+0

bingo! Спасибо jcd. – chris

Смежные вопросы