Reputation: 3946
The following Foo class has a dependency on an external function bar_function:
class Foo(object):
def __init__(self, bar_function):
self.bar_function=bar_function
def call_bar_function(self):
self.bar_function()
I would like to test "call_bar_function" that it actually called bar_function.
How can I write a unit test for it using Mock?
Upvotes: 0
Views: 39
Reputation: 21285
since you're already injecting bar
as a dependency into Foo
it's simple:
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())
Upvotes: 1