Python: проверить функцию, содержащуюся внутри другой функции - PullRequest
0 голосов
/ 09 июля 2020

Я работаю с Python3, pytest и unittest. У меня есть функция с именем parent, которая содержит другую функцию с именем child.

Как я могу проверить внутреннюю функцию?

def parent():
    ...

    def child():
        ....

    ...

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Это зависит от того, как вы используете дочерний метод, но вместо этого вы можете использовать класс:

Для тестирования: python методы модульного тестирования внутри классов

class Parent:
    @classmethod
    def child(cls):
        print('hello')

    @classmethod
    def run(cls, *args, **kwargs):
        cls.child()

Parent.run()
Parent.child()
0 голосов
/ 09 июля 2020

Вы можете вызвать функцию только из родительской функции. Это называется инкапсуляцией :)

def parent():
    def child():
        print('World')
    print('Hello')
    child()
    print('Hello')
    child()
    print('Hello')
    child()

parent()

Выходы:

Hello
World
Hello
World
Hello
World
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...