ошибка при использовании QTest Macro QCOMPARE

Я хочу использовать QTest Macro QCOMPARE в своем коде, но я получаю ошибки.

QTestString.h

#ifndef QTESTSTRING_H
#define QTESTSTRING_H
#include <QtCore/QString>
#include <QtTest/QtTest>class TestqstringTest : public QObject
{
Q_OBJECT

public:
TestqstringTest();

private slots:
void testCase1();
};
#endif // QTESTSTRING_H

QTestString.cpp

#include "QTestString.h"
TestqstringTest::TestqstringTest()
{testCase1();
}

void TestqstringTest::testCase1()
{

QString str = "Hello";QCOMPARE(str.toUpper(),(QString)"hELLO");}

main.cpp

#include "QTestString.h"

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);TestqstringTest *test = new TestqstringTest();return a.exec();
}

Однако я получаю следующие ошибки:

ASSERT: «QTest :: testLogger» в файле qtestlog.cpp, строка 266 Программа
неожиданно закончил.

1

Решение

Я нашел ответ, вы должны использовать int QTest::qExec ( QObject * testObject, int argc = 0, char ** argv = 0 ) чтобы оправдать это, тогда вывод testlog правильно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]