def f1():
return 10, True
def f2():
num, stat = f1()
return 2*num, stat
Làm thế nào để sử dụng thư viện mock python để vá f1()
và trả về một kết quả tùy chỉnh để tôi có thể kiểm tra f2()
?Python vá giả một chức năng trong một chức năng
Đã chỉnh sửa: Có vấn đề gì với thử nghiệm của tôi không? Đây dường như không được làm việc, tất cả các cuộc thử nghiệm thất bại với 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))
Cảm ơn bạn đã giới thiệu liên kết http://bhfsteve.blogspot.nl về kiểu vá và nhập. Điều đó giải quyết được một trong những vấn đề của tôi. – HeyWatchThis