単体テストの結果がジェンキンスコンソールに出力されるようにしています。しかし、私はできません。jenkins ビルド コンソールが qDebug を出力できないと考えています。そして、qdebugを印刷できないことを試しました。しかし、 std::cout は機能しています。どうすれば続行できますか?
ありがとうございました。言ってみました。しかし、それは機能しません。エラーが発生します。エラー: C3861: 'qInstallMsgHandler': 識別子が見つかりません
//! [0]
#include <QtTest/QtTest>
#include <qapplication.h>
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <QDebug>
void myMessageOutput(QtMsgType type, const char *msg)
{
switch (type) {
case QtDebugMsg:
fprintf(stderr, "Debug: %s\n", msg);
break;
case QtWarningMsg:
fprintf(stderr, "Warning: %s\n", msg);
break;
case QtCriticalMsg:
fprintf(stderr, "Critical: %s\n", msg);
break;
case QtFatalMsg:
fprintf(stderr, "Fatal: %s\n", msg);
abort();
}
}
class TestQString: public QObject
{
Q_OBJECT
public:
TestQString(){
qInstallMsgHandler(myMessageOutput);
}
private slots:
void toUpper();
};
//! [0]
//! [1]
void TestQString::toUpper()
{
QString str = "Hello";
QCOMPARE(str.toUpper(), QString("HELLO"));
qDebug() << "hello";
std::cout << "Hello, world!\n\n";
}
//! [1]
//! [2]
QTEST_MAIN(TestQString)
#include "testqstring.moc"
//! [2]