Qt_Core_AD_5_5 - 8BitsCoding/RobotMentor GitHub Wiki


#include <QtCore/QCoreApplication>

#include <qtest.h>
#include "Widget.h"

// QTEST_MAIN(Widget);


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 testFor();
	void testForEach();
	void testString();
	void testComp();
};
#include "Widget.h"

Widget::Widget(QObject *parent)
	: QObject(parent)
{
}

Widget::~Widget()
{
}


void Widget::testFor()
{
	QVector<int> list;
	list.fill(0, 100);

	// Called multiple times;
	QBENCHMARK
	{
		for (int i = 0; i < list.size(); i++) {
			// Do Stuff
		}
	}
}

void Widget::testForEach()
{
	QVector<int> list;
	list.fill(0, 100);

	// Called multiple times;
	QBENCHMARK
	{
		foreach(int value, list) {
			// Do Stuff
		}
	}
}

void Widget::testString()
{
	QString him = "Bryan";
	QString her = "Tammy";

	QBENCHMARK
	{
		int ret = him.compare(her);
	}
}

void Widget::testComp()
{
	QString him = "Bryan";
	QString her = "Tammy";

	QBENCHMARK
	{
		QCOMPARE(him, her);
	}
}

이미지

⚠️ **GitHub.com Fallback** ⚠️