Модульное и функциональное тестирование приложения на основе PySide?

Я создаю приложение на основе PySide 1.1.0 и искал хорошие примеры для модульного и функционального тестирования моего приложения. Я хочу иметь возможность выполнять функциональное тестирование пользовательского интерфейса (имитация кликов, нажатий клавиш и т. д.), модульное тестирование слотов пользовательского интерфейса, которые изменяют макет пользовательского интерфейса (предположительно, с использованием частично смоделированного отправителя и получателя), а также модульное тестирование. тестирование кода, включающего виджеты, но без необходимости рендеринга каких-либо окон.

Например, я динамически создаю подменю одного меню в строке меню, когда элемент добавляется в модель (объект, производный от QAbstractItemModel), который предоставляет данные в QTreeView.Модель и подменю должны оставаться синхронизированными, поэтому я хочу иметь возможность написать модульный тест, который отправляет данные в контроллер, управляющий моделью и подменю, и утверждает, что и модель, и подменю были правильно обновлены.

Я бы предпочел НЕ устанавливать QApplication в своем тестовом коде, если можно этого избежать. Я также хотел бы не отображать никаких окон, когда меня интересует только проверка структур данных в виджетах, а не их визуализация.

Я не могу найти ничего подходящего на http://www.pyside.orgили в результатах поиска Google. Кто-нибудь имеет опыт или знает хороший пример кода, на который мне следует взглянуть?

19
задан Kris Hardy 21 June 2012 в 19:41
поделиться