def f1():
return 10, True
def f2():
num, stat = f1()
return 2*num, stat
如何使用Python的模拟库修补f1()
并返回一个自定义的结果,所以我可以测试f2()
内的功能?Python的模拟补丁另一个功能
被修改: 我的测试有什么问题吗?这似乎并不奏效,所有的测试失败,AssertionError的
from foo.bar import f2
from mock import patch
class MyTest(TestCase):
def test_f2_1(self):
with patch('project.module.f1') as some_func:
some_func.return_value = (20, False)
num, stat = f2()
self.assertEqual((num, stat), (40, False))
@patch('project.module.f1')
def test_f2_2(self, some_func):
some_func.return_value = (20, False)
num, stat = f2()
self.assertEqual((num, stat), (40, False))
感谢您推荐关于修补和导入样式的http://bhfsteve.blogspot.nl链接。这解决了我的一个问题。 – HeyWatchThis 2015-08-19 16:03:54