Я хочу проверить, инициализируется ли расширение класса tkinter.Tk
правильными параметрами. Импорт работает правильно. Я могу использовать и main
, и Gui
, но я не понимаю, почему я получаю AssertionError: Expected 'Gui' to be called once. Called 0 times.
с mocked
. Это утверждение mocker.patch('bookmeister.gui.Gui')
мне кажется правильным, если from bookmeister.gui import Gui
работает.
from bookmeister.__main__ import main
from bookmeister.gui import Gui
def test_run(mocker):
mocker.patch.object(Gui, 'mainloop')
mocked = mocker.patch('bookmeister.gui.Gui')
spy = mocker.spy(Gui, '__init__')
main()
mocked.assert_called_once_with('Bookstore Manager', '600x470')
spy.assert_called_once_with('Bookstore Manager', '600x470')
Я также пытался использовать mocker.spy
, но затем отображается другая ошибка.
AssertionError:
Expected call: __init__('Bookstore Manager', '600x470')
Actual call: __init__(<bookmeister.gui.Gui object .>, 'Bookstore Manager', '600x470')
Понятия не имею, как мне смоделировать <bookmeister.gui.Gui object .>
в моем тесте.
Не могли бы вы объяснить, как я могу исправить свой код для проверки правильности инициализации?