擅长:python、mysql、java
<p>有一个发生器和模拟的侧面效果</p>
<pre><code>from unittest.mock import Mock
def sample_generator():
yield 1
yield 2
raise Exception()
gen = sample_generator()
def sideeffect():
global gen
for x in gen:
return x
m = Mock(side_effect=sideeffect)
m() #1
m() #2
m() #3
</code></pre>
<p>你可以得到:</p>
^{pr2}$
<p>我相信你可以稍微弄干净一点,但它应该能解决你的基本问题</p>