以下Foo类具有对外部函数bar_function的依赖:
class Foo(object):
def __init__(self, bar_function):
self.bar_function=bar_function
def call_bar_function(self):
self.bar_function()
我想测试一下实际上称为bar_function的“ call_bar_function”。
如何使用Mock为其编写单元测试?
答案 0 :(得分:1)
因为您已经将bar
作为依赖项注入到Foo
中,所以很简单:
from foo_module import Foo
import unittest
from unittest.mock import MagicMock
class FooTest(unittest.TestCase):
def test_call_bar(self):
mock_bar = MagicMock()
foo = Foo(mock_bar)
foo.call_bar_function()
self.assertTrue(mock_bar.called_once())