繁体   English   中英

使用QTest宏QCOMPARE时出错

[英]error Using QTest Macro QCOMPARE

我想在代码中使用QTest宏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:qtestlog.cpp文件中的“ QTest :: testLogger”行266,程序意外完成。

我找到了答案,必须使用int QTest::qExec ( QObject * testObject, int argc = 0, char ** argv = 0 )执行它,然后正确输出testlog。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM