擅长:python、mysql、java
<p>你有三个问题。首先,您正在修补fixture函数,但您应该修补test函数。这是因为您编写它的方式,断言不在修补的范围之内。在</p>
<p>其次,你应该抛弃多余的<code>mkname</code>。在</p>
<p>第三,您的<code>return_value</code>位置不正确;它需要应用于修补程序返回的<code>PropertyMock</code>对象,而不是作为修补函数的参数。使用<code>new_callable</code>时,需要在测试设置中设置它,例如:</p>
<pre><code>@patch('tmp.Panda.name', new_callable=PropertyMock)
def test_panda_fixture(mock_name, fixture_panda):
mock_name.return_value = "yuanyuan"
...
</code></pre>
<p>但是,您可以在decorator中使用<code>new</code>,而不是{<cd4>}。下面是一个工作版本,它展示了这种方法:</p>
^{pr2}$