Backgournd
Я пытаюсь научиться использовать Tkinter.Для этого я создал небольшое приложение, и я пытаюсь создать модульный тест, используя Pytest.
Часть, которую я пытаюсь проверить
Есть часть, которая создает метку иустанавливает для него тайм-аут, как только этот тайм-аут достигает, метка уничтожается, но я вижу, что обратный вызов для уничтожения никогда не вызывается
Определение обратного вызова
Этот параметр большего метода
self.labels = deque()
myLabel.after(timeout, myLabel.destroy)
self.labels.appendleft(myLabel)
Модульный тест
class MockedClass(myTkinterApp):
def __init__(self, timeout):
self.label_timeout = label_timeout
self.tk = Tk()
self.labels = deque()
def test_timeout_reached_label_destroyed():
obj = MockedClass(label_timeout=1)
time.sleep(2)
assert obj.labels[0].winfo_exists() is False
Я вижу, что обратный вызов никогда не вызывается.Чего мне не хватает?