擅长:python、mysql、java
<p>您没有给出足够的示例来真正提供帮助,但有几个观察结果:</p>
<ul>
<li><p>一般来说,最好对代码进行结构化,以避免在测试中进行模拟;在可能的范围内,每个函数都应该是一段独立的代码,可以单独调用</p>
</li>
<li><p>没有必要嘲笑争论;只需将测试值传入即可</p>
</li>
<li><p>我不确定此代码的用途:</p>
<pre class="lang-py prettyprint-override"><code>bar = {'key': 'value'}
def foo(bar):
pass
</code></pre>
<p>在外部级别定义的<code>bar</code>与函数定义中用作参数的<code>bar</code>是完全独立的变量。给他们起同一个名字是令人困惑的</p>
</li>
<li><p>可以使用<code>patch</code>或<code>patch.object</code>和<code>return_value=...</code>选项模拟函数;不过,它通常建议需要对代码进行重构,以减少两个函数之间的依赖关系</p>
</li>
</ul>