Как выполнить модульное тестирование вложенной функции с помощью PyTest без изменения внешней функцииPython

Программы на Python
Anonymous
Как выполнить модульное тестирование вложенной функции с помощью PyTest без изменения внешней функции

Сообщение Anonymous »

У меня есть функция Python, содержащая вложенную функцию. Я хочу написать модульные тесты для вложенной функции с помощью PyTest, но не хочу изменять способ определения вложенной функции или ее поведение. Я также не хочу вызывать или тестировать саму внешнюю функцию, а только вложенную функцию.
Вот упрощенный пример моего кода:

Код: Выделить всё

# example.py

def outer_function(a, b):
"""
Example outer function that performs some operations.
"""
def inner_function(x, y):
"""
Nested function that I want to test.
"""
return x + y

# Some operations using inner_function
result = inner_function(a, b)
return result
Я хочу создать тестовую функцию PyTest, которая проверяет только внутреннюю_функцию с использованием параметризации, гарантируя, что она охватывает различные сценарии, такие как:
  • Сложение двух положительных чисел
  • Сложение положительных и отрицательных чисел
  • Сложение двух отрицательных чисел
    < li>Добавление нуля к числу
Как этого добиться, чтобы тесты были независимыми от external_function?
Пример тестовой функции:

Код: Выделить всё

# test_example.py

import pytest

@pytest.mark.parametrize("x, y, expected", [
(1, 2, 3),         # Adding two positive numbers
(1, -1, 0),        # Adding positive and negative numbers
(-1, -2, -3),      # Adding two negative numbers
(0, 5, 5),         # Adding zero to a number
(3, 0, 3)          # Adding a number to zero
])
def test_inner_function(x, y, expected):
"""
Describe how to test the inner_function here.
"""
# Code to test inner_function goes here.
Будем очень признательны за любые рекомендации или примеры того, как правильно структурировать и реализовать эти тесты!


Подробнее здесь: https://stackoverflow.com/questions/788 ... outer-func

Вернуться в «Python»