#include <QtCore/QCoreApplication>
#include <qtest.h>
#include "Widget.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Widget w;
QTest::qExec(&w);
return a.exec();
}
#pragma once
#include <QObject>
#include <qdebug.h>
#include <qtest.h>
class Widget : public QObject
{
Q_OBJECT
public:
explicit Widget(QObject *parent = nullptr);
~Widget();
signals:
public slots:
private slots:
void test();
void test_data();
void testFail();
};
#include "Widget.h"
Widget::Widget(QObject *parent)
: QObject(parent)
{
}
Widget::~Widget()
{
}
void Widget::test()
{
QFETCH(int, value);
// Skip 5
if (value == 5) QSKIP("Skipping 5");
// Exits
qInfo() << "Testing: " << value;
}
void Widget::test_data()
{
qInfo() << "Generating data ... ";
QTest::addColumn<int>("value");
for (int i = 0; i < 10; i++) {
QString name = QString::number(i);
QByteArray ba = name.toLatin1();
const char* c_str = ba.data();
QTest::newRow(c_str) << i;
}
}
void Widget::testFail()
{
int current = 6;
int supported = 6;
QCOMPARE(current, supported);
// Test Previous
QEXPECT_FAIL("", "Version 5 is not Supported", Continue);
//QCOMPARE(current, 5); // Will Fail
}
