Я хочу провести модульное тестирование для некоторых простых упражнений, которые я делал на c ++ с использованием Qt. я решил, что использование QtTest кажется разумным местом для начала.
у меня есть класс, который возвращает целое число, и я хочу проверить, что ожидаемый результат совпадает с фактическим.
я прав, думая, что я делаю новый исходный файл c ++ в проекте для использования в качестве QtTest
Вот что у меня есть, но после прочтения документации Qt я не могу понять, что мне делать?
#include "Conversion.h"#include <QtTest/QtTest>class ConversionTest : public QObject
{
private slots:
void testConvert();
};
void ConversionTest::testConvert()
{
int unit1 = 1, unit2 = 10;
std::string sUnit1 = "stone", sUnit2 = "pound";
double expected = 10.8862;
double actual;
Conversion c;
actual = c.convert(unit1, unit2, sUnit1, sUnit2);
QCOMPARE(expected, actual);
}
QTEST_MAIN (ConversionTest)
#include "conversiontest.moc"
это то, что я произвел после прочтения документации, но что теперь, как мне его запустить и получить (как мне кажется,) вывод консоли, который говорит, что прошел / не прошел?
любая помощь будет большой спасибо
Вам нужно создать приложение с ним (QTEST_MAIN(..)
строит main
функция для вас), и укажите CONFIG += qtestlib
в .pro
файл.
Когда вы запускаете его, открывается консоль, которая распечатывает результаты теста.
Я решил это сам, проблема была в том, что ошибки Qt вообще не были проблемой с кодом, по какой-то причине мне не понравилось, что файлы моего проекта находились в структуре папок более чем в одной папке, прежде чем файлы моего проекта использовали тот же самый код в новый реж, и это сработало ?? : S