QT: смоделированное юнит-тестирование - PullRequest
2 голосов
/ 19 ноября 2010

Можно ли запустить приложение и, кроме того, вы отправляете в него события keyPress и тестируете результаты с помощью qtestlib?

Если да, может кто-нибудь привести пример, как это сделать?

Если нет, может кто-нибудь показать мне лучший способ выполнить вышеуказанное требование?

Спасибо ...

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Простой ответ: Нет.

Однако для этого есть инструменты. Ivo упомянул Squish, есть также «родное» тестовое приложение под названием QtUiTest, которое можно найти здесь: http://qt.gitorious.org/+qa-tools/qt-labs/qa-tools-qtuitest .. и TDriver здесь: http://gitorious.org/tdriver

0 голосов
/ 09 апреля 2013

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

При этом мне действительно нравятся игры Froglogic Squish . Он имеет ряд полезных функций:

  • Он напрямую обращается к объектам Qt, поэтому обычно нет необходимости в действиях на основе пикселей
    • Это определенно проблема практически со всеми другими инструментами тестирования GUI, как Патрик упоминается в комментариях к исходному вопросу.
  • Он может быть связан с вашей библиотекой Qt, если у вас есть пользовательская версия (у нас есть :))
  • Тесты написаны на Python (или tcl, или javascript и т. Д.)
  • Тесты могут быть записаны на основе действий мыши / клавиатуры.
    • Даже эти тесты написаны на вашем языке сценариев, поэтому их можно легко изменить или расширить.
  • Существует множество интересных вариантов проверки.
  • Он работает на Mac, Linux и Windows (и я думаю, iOS)
  • Он может работать в режиме клиент / сервер, поэтому вы можете запускать тесты на различных машинах из одной точки запуска (или из вашей системы сборки).
  • У froglogic есть список того, что они считают классным тоже.
...