Кроме того, просто нашел библиотеку Smoke привязка QT, названная CommonQt для CL
Я не знаю, что QTestLib «лучше», чем один фреймворк для другого в таких общих чертах. Есть одна вещь, в которой он работает хорошо, и это хороший способ тестирования приложений на основе Qt.
Вы можете интегрировать QTest в новую настройку на основе Google Test. Я не пробовал, но судя по архитектуре QTestLib, кажется, что это не будет слишком сложно.
Тесты, написанные с использованием чистой QTestLib, имеют параметр -xml, который вы могли бы использовать вместе с некоторыми преобразованиями XSLT для преобразования в нужный формат для сервера непрерывной интеграции. Однако многое зависит от того, какой сервер CI вы используете. Думаю, то же самое применимо и к GTest.
Одно тестовое приложение на тестовый пример никогда не вызывало у меня особых затруднений, но это зависит от наличия системы сборки, которая бы выполняла достойную работу по управлению сборкой и выполнением тестовых примеров.
Я не знаю ничего в Qt Creator, что требовало бы отдельного проекта для каждого тестового примера, но могло бы изменились с тех пор, как я последний раз смотрел Qt Creator.
Я бы также предложил придерживаться QtCore и держаться подальше от STL. Использование QtCore повсюду упростит работу с битами графического интерфейса, которые требуют типов данных Qt. В этом случае вам не придется беспокоиться о преобразовании одного типа данных в другой.
Я бы также посоветовал придерживаться QtCore и держаться подальше от STL. Использование QtCore повсюду упростит работу с битами графического интерфейса, которые требуют типов данных Qt. В этом случае вам не придется беспокоиться о преобразовании одного типа данных в другой.
Я бы также посоветовал придерживаться QtCore и держаться подальше от STL. Использование QtCore повсюду упростит работу с битами графического интерфейса, которые требуют типов данных Qt. В этом случае вам не придется беспокоиться о преобразовании одного типа данных в другой.
QtTest в основном полезен для тестирования частей, которые требуют диспетчеризации цикла событий / сигналов Qt. Он разработан таким образом, что каждый тестовый пример требует отдельного исполняемого файла, поэтому он не должен конфликтовать с какой-либо существующей тестовой структурой, используемой для остальной части приложения.
(Кстати, я настоятельно рекомендую использовать QtCore даже для частей, не связанных с графическим интерфейсом. приложений. Работать с ними намного приятнее.)
Почему бы не использовать среду модульного тестирования, включенную в Qt? Пример: QtTestLib Tutorial .
Если вы используете Qt, я бы рекомендовал использовать QtTest, потому что он имеет средства для тестирования пользовательского интерфейса и прост в использовании.
Если вы используете QtCore, вы, вероятно, можете обойтись без STL . Я часто считаю, что классы Qt проще в использовании, чем их аналоги из STL.