Написание юнит-теста для wxPython - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть встроенное приложение, которое содержит окно, созданное с помощью wxPython, которое содержит текстовое поле для ввода данных от пользователя, а событие enter привязано к функции и отправляет ей объект wx.Frame.Доступ к входному значению осуществляется с помощью self.txt.GetValue()

. Мне нужно написать некоторые модульные тесты для функции, но, похоже, не могу найти способ создать и передать аргумент функции таким образом, чтобы значение все равно былодоступны с тем же утверждением.

Я также нашел несколько модулей для тестирования приложений на Python, в том числе один на странице wxPython (pyunit), но основная интуиция, КАК передавать значение, не ясна.

Как мне это сделать?

1 Ответ

0 голосов
/ 25 сентября 2018

Если вы отделите функцию от wxPython, вы можете легко протестировать ее.Допустим, у вас есть виджет, связанный с обработчиком событий, например так:

def on_text_change(self, event):
    my_module.do_something_with_text(self.txt.GetValue())

Теперь вы можете добавить модульный тест для my_module.do_something_with_text, потому что он не будет зависеть от wxPython.

Если вы хотите создать то, что составляет автоматический тест пользовательского интерфейса, вы можете использовать UIActionSimulator - https://wxpython.org/Phoenix/docs/html/wx.UIActionSimulator.html

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