我有一个生成器对象要进行单元测试。它经过一个循环,当循环结束时某个变量仍然为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
那么,如何测试生成器函数中是否引发异常?
^{} 是Python 2.7之后的上下文管理器,因此您可以这样做:
如果您有Python<;2.7,那么可以使用
lambda
来耗尽生成器:相关问题 更多 >
编程相关推荐