Тестовый импорт модуля выполняет оператор в pytest - PullRequest
0 голосов
/ 08 апреля 2019

Я хочу проверить, что импорт модуля создаст экземпляр класса.Код должен выглядеть так:

mymodule.py

class Test:
    pass

Test()

Но в pytest это кажется невозможным:

test.py

def test(mocker):
    mocker.patch("mymodule.Test.__init__")
    import mymodule
    mymodule.Test.__init__.assert_called()

Это не работает, и я понимаю почему.Я исправляю перед импортом, затем импорт переопределяет исправленную версию.Но есть ли способ, которым я могу проверить это?

Не спрашивайте меня, почему ... :) Это сторонняя библиотека, которая позволяет вам писать свои собственные плагины.Плагины - это просто импортируемые модули, создание объектов должно происходить при импорте.Затем в __init__ я делаю некоторую инициализацию для этой сторонней библиотеки.

...