<p>我需要测试代码片段(例如,来自class<em>UnderTestClass</em>):</p>
<pre><code>def _method_to_test(self)
...
ParsingObject = MyParsingClass()
if not ParsingObject.parse_string(some_string):
self.logger.error('Parsing data has failed.')
return False
return ParsingObject
</code></pre>
<p>不管我怎么尝试,都不能覆盖最后一个return语句-<em>return ParsingObject</em>,所以我对parse_string()方法的模仿一定有问题。在</p>
<p>我试过Python测试教程中的语句:</p>
^{pr2}$
<p>但不幸的是只有:</p>
<blockquote>
<p>AssertionError: False is not an instance of class 'my_app.myParsingClass.MyParsingClass'</p>
</blockquote>
<p>更新:谢谢。我听从你的建议,所以重新写一点:</p>
<pre><code> with patch('...') as ParseMock:
instance = ParseMock.return_value
ParseMock.parse_string.return_value = True
res = tested_module.UnderTestClass._method_to_test(UnderTestClassMock)
assert myParsingClass.MyParsingClass() is instance
assert myParsingClass.MyParsingClass() is res
</code></pre>
<p>但最后一行还是有断言错误。在</p>
<p>编辑:我需要某种依赖注入机制/框架吗?在</p>