我最近开始使用Ludibrio在单元测试中模拟对象。到目前为止,它似乎很精简,但我似乎在测试一些失败场景时遇到了障碍,似乎无法在网上找到解决方案。在
我正在处理的一些方法调用引发了我想要捕获的异常。所以我希望我的模拟对象通过在特定调用上引发异常来模拟这些条件。我试着这样做:
from ludibrio import *
with Mock() as myMock:
def raiseException():
raise Exception('blah')
myMock.test() >> raiseException()
try:
print myMock.test()
except Exception, e:
print 'Error: %s' % e
myMock.validate()
问题是,raiseException()是在生成模拟对象时计算的,而不是在何时计算的我的模拟测试()被调用。所以很明显这不是正确的方法。在
有没有办法让模拟对象在运行时引发异常?或者,异常会被截获为一个失败,并且无论如何都不会离开模拟对象?在
进一步的谷歌搜索最终得出了答案。只需告诉模拟对象传回一个异常。这似乎是从外部提出的:
相关问题 更多 >
编程相关推荐