Python Функция исправления модульного теста - Избегайте передачи проверенной функции в функцию проверки - PullRequest
1 голос
/ 28 февраля 2020

Я пытаюсь смоделировать функцию python, аналогичную приведенной ниже. Я не делаю ничего с проверенной функцией, за исключением того факта, что она используется для возврата проверенных данных в вызываемой функции. Могу ли я избежать передачи переменной (в данном случае суммы) в тестовую функцию?

# test_calculator.py

from unittest import TestCase
from unittest.mock import patch

class TestCalculator(TestCase):
    @patch('calculator.Calculator.sum', return_value=9)
    def test_sum(self, sum):
        self.assertEqual(sum(2,3), 9)

1 Ответ

1 голос
/ 01 марта 2020

unittest.mock.patch также можно использовать в качестве диспетчера контекста, если требуется просто не указывать sum в параметрах

class TestCalculator(TestCase):
    def test_sum(self):
        with patch('calculator.Calculator.sum', return_value=9) as sum:
            self.assertEqual(sum(2, 3), 9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...