Python: как написать модульный тест для экземпляра переменной, представляющей функцию? - PullRequest
0 голосов
/ 24 июня 2019

Следующий класс Foo зависит от внешней функции bar_function:

class Foo(object):

    def __init__(self, bar_function):
        self.bar_function=bar_function

    def call_bar_function(self):
        self.bar_function()

Я хотел бы проверить "call_bar_function", чтобы он на самом деле вызывал bar_function.

Как мне написать модульный тест для него с помощью Mock?

1 Ответ

1 голос
/ 24 июня 2019

, поскольку вы уже вводите 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())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...