Как использовать self.assertRaises unittest с исключениями в объекте-генераторе?

У меня есть объект-генератор, который я хочу протестировать. Он проходит через цикл, и когда в конце цикла определенная переменная все еще равна 0, я вызываю исключение. Я хочу протестировать это, но я не знаю, как это сделать. Возьмем этот пример генератора:

class Example():
    def generatorExample(self):
        count = 0
        for int in range(1,100):
            count += 1
            yield count   
        if count > 0:
             raise RuntimeError, 'an example error that will always happen'

Что я хотел бы сделать,

class testExample(unittest.TestCase):
    def test_generatorExample(self):
        self.assertRaises(RuntimeError, Example.generatorExample)

Тем не менее, объект генератора не является масштабируемым, и это дает

TypeError: 'generator' object is not callable

Итак, как вы проверяете, возбуждается ли исключение в функции генератора?

]
10
задан Niek de Klein 7 March 2012 в 10:21
поделиться