擅长:python、mysql、java
<p>是的,您还可以使用mock对非面向对象代码进行单元测试</p>
<p>见下例:</p>
<pre><code>from unittest.mock import MagicMock
def a():
return 10
def b():
print(a())
b()
a = MagicMock(return_value=3)
b()
</code></pre>
<p>输出为:</p>
<pre><code>10
3
</code></pre>
<p>在上一个示例中,mock用于伪造/模拟函数a(),因此您可以单独测试函数b(),b()是SUT,而无需调用()实际实现。这对于更复杂的代码非常有用,特别是当函数a()依赖于单元测试级别可能不可用的数据时</p>