擅长:python、mysql、java
<p>如果使用<code>mock</code>修补<code>sys.exit</code>,则可能修补不正确。</p>
<p>这个小测试对我来说很好:</p>
<pre><code>import sys
from mock import patch
def myfunction():
sys.exit(1)
def test_myfunction():
with patch('foo.sys.exit') as exit_mock:
myfunction()
assert exit_mock.called
</code></pre>
<p>调用方式:</p>
<pre><code>nosetests foo.py
</code></pre>
<p>输出:</p>
<pre><code>.
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
</code></pre>