Python:如何为代表函数的实例变量编写单元测试?

时间:2019-06-24 08:26:51

标签: python unit-testing

以下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为其编写单元测试?

1 个答案:

答案 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())