Устройство тестирования в Qtestlib - бегущий один тест / тесты в классе / все тесты

StackOverflow https://stackoverflow.com/questions/2686326

  •  30-09-2019
  •  | 
  •  

Вопрос

Я просто начинаю использовать Qtestlib. Я прошел через руководство а также руководство. Отказ Хотя я понимаю, как создавать тесты, я просто не понимаю, как сделать эти тесты удобными для бега. Мой модуль теста фон - NUNIT и MSTEST. В этих условиях он был тривиальным (по крайней мере, используя графический интерфейс), чтобы воспользоваться одним тестом или всеми тестами в одном тестовом классе или все тесты во всем проекте, просто нажав на правую кнопку.

Все, что я вижу в Qtestlib, это либо вы используете QTEST_MAIN Макрос для запуска тестов в одном классе, затем компилируйте и тестируйте каждый файл отдельно; или использовать QTest::qExec() в main() Чтобы определить, какие объекты тестируете, а затем вручную измените это и перекомпилируйте, когда вы хотите добавить / удалить тестовые классы.

Я уверен, что я что-то упускаю. Я хотел бы быть в состоянии легко:

  • Запустите один метод испытаний
  • Запустите тесты во всем классе
  • Запустите все тесты

Любой из них позвонит соответствующие функции настройки / разрыва.

РЕДАКТИРОВАТЬ: Bounty теперь доступен. Там должно быть лучший способ, или тестовый бегун GUI, который обрабатывает его для вас или что-то в этом роде. Если вы используете Qttest в среде для тестирования, дайте мне знать, что работает для вас. (Скрипты, тестовые бегуны и т. Д.)

Это было полезно?

Решение

Вы можете запустить только выбранные тестовые случаи (методы теста), передавая тестовые имена как Аргументы командной строки :

myTests.exe myCaseOne myCaseTwo

Он также будет работать все индийты / очистки. К сожалению, поддержки подстановочных знаков / сопоставления образцов, чтобы запустить все случаи, начиная с заданной строки (я предполагаю, что это то, что вы подразумеваете под «запуском тестов во всем классе»), вам придется создать скрипт (Windows Batch / Bash / Perl / Averty), который звонит:

myTests.exe -functions

Изучает результаты и запускает выбранные тесты с использованием первого синтаксиса.

Чтобы запустить все случаи, просто не проходите никакого параметра:

myTests.exe

Другие советы

Три функция, запрошенные ОП, в настоящее время интегрированы в Qt Creator.

Проект будет автоматически отсканирован на тесты, и они верят на тестовую панель. Дно левое на скриншоте:

Qt Creator screenshot

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

Результаты испытаний будут доступны от TVT Creator. Индикатор цвета покажет Pass / Fail для каждого теста, вдоль дополнительной информации, такой как сообщения отладки.

В сочетании с КТ Создателем, использование QTEST_MAIN Макрос для каждого тестового корпуса будет хорошо работать, поскольку каждый компилированный исполняемый файл автоматически вызывается CT Creator.

Для более подробного обзора см. Бег автотестов Раздел руководства QT Creator.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top