擅长:python、mysql、java
<p>在我看来,替换<code>FileRunner</code>命名空间中的整个ConfigB对象会更好。那么你的测试看起来像这样:</p>
<pre><code>import unittest
import unittest.mock imort MagicMock
import mock
from FileRunner import FileRunner
class TestFileRunner(unittest.TestCase):
@mock.patch('FileRunner.ConfigB')
def test_methodscalled(self, cfgB):
fileRunner = FileRunner()
cfgB.return_value.Id = 17
fileRunner.runProcess(1)
</code></pre>
<p>注意,<code>@mock.patch('FileRunner.ConfigB')</code>将用mock替换<code>FileRunner</code>命名空间中的<code>ConfigB</code>类。然后,您可以配置mock以执行任何您喜欢的操作,例如,<code>Id</code>等于17。在</p>