c – 运行Qt单元测试
发布时间:2020-12-16 03:45:11 所属栏目:百科 来源:网络整理
导读:查看 Qt’s site和 another Stackoverflow answer,因为我不想为每个要测试的类创建一个单独的项目,我想出了以下代码: testqstring.h #ifndef TESTQSTRING_H#define TESTQSTRING_H#include QtTest/QTestclass TestQString : public QObject{ Q_OBJECTprivate
|
查看
Qt’s site和
another Stackoverflow answer,因为我不想为每个要测试的类创建一个单独的项目,我想出了以下代码:
testqstring.h #ifndef TESTQSTRING_H
#define TESTQSTRING_H
#include <QtTest/QTest>
class TestQString : public QObject
{
Q_OBJECT
private slots:
void toUpper();
};
#endif // TESTQSTRING_H
testqstring.cpp #include "testqstring.h"
#include <QString>
void TestQString::toUpper()
{
QString str = "Hello";
QCOMPARE(str.toUpper(),QString("HELLO"));
}
main.cpp中 #include "testqstring.h"
int main(int argc,char *argv[])
{
TestQString testqstring;
QTest::qExec(&testqstring,argc,argv);
return 0;
}
但是,我收到以下链接器错误: ... g++ -headerpad_max_install_names -arch i386 -o tester main.o testqstring.o moc_testqstring.o -F/Library/Frameworks -L/Library/Frameworks -framework QtCore Undefined symbols: "QTest::qExec(QObject*,int,char**)",referenced from: _main in main.o "QTest::compare_helper(bool,char const*,char*,int)",referenced from: bool QTest::qCompare<QString>(QString const&,QString const&,int)in testqstring.o ... and more like that ... 我在这做错了什么? 解决方法
加:
CONFIG += qtestlib 到.pro文件,让qmake链接到qtest库中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
