• 26.08.2025, 22:10
  • Register
  • Login
  • You are not logged in.

 

Eumel

God

[Qt 4.3.3] Unit Testing

Sunday, March 2nd 2008, 11:23pm

Hi!

Hat sich jemand von euch schonmal mit dem Unit Testing Framework von Qt befasst?

Das Tutorial vom Assistant ist ja sehr nett, einfach und verständlich. Aber ich bekomme es nicht hin, ein Testprogramm _OHNE_

Source code

1
QTEST_MAIN(TestClass)


zu schreiben. :( Habt ihr einen Vorschlag? Folgender Ansatz:

testlib.cpp

Source code

1
2
3
4
5
6
7
8
9
10
11
12
#include <QCoreApplication>
#include <QTest>

#include "QMTestObject.h"

int main(int argc, char** argv) {
      QCoreApplication app(argc, argv);
      
      QMTestObject test;
      
      return QTest::qExec(&test, argc, argv);
}


QMTestObject.h

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
#ifndef QMTESTOBJECT_H_
#define QMTESTOBJECT_H_

#include <QObject>

class QMTestObject: public QObject {
      Q_OBJECT
      
private slots:
      void testName();
};

#endif /*QMTESTOBJECT_H_*/


QMTestObject.cpp

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
#include "QMTestObject.h"

#include <QTest>
#include <QString>

#include "QMObject.h"

void QMTestObject::testName() {
      QMObject *o = new QMObject();
      o->setName("QMTestObject::testName");
      
      QCOMPARE(o->name(), QString("QMTestObject::testName"));
}


An sich sehr simpel. Ich entdecke auch keinen Fehler. Aber beim verlinken findet er die vtable von meiner Testklasse nicht. :(

Quoted

release/libtest.o(.text+0x83):libtest.cpp: undefined reference to `vtable for QMTestObject'
release/libtest.o(.text+0xb8 ):libtest.cpp: undefined reference to `vtable for QMTestObject'
release/libtest.o(.text+0x102):libtest.cpp: undefined reference to `vtable for QMTestObject'


Ideen? Ich möchte nämlich nicht für jeden TestCase eine eigene Applikation (-> EXE) erstellen, sondern die Testfälle in einer "Testumgebung" einpflegen, damit die Übersicht gewahrt bleibt.

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Y0Gi

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 1:11pm

Bedaure, mit Tests habe ich noch einige Gewöhnungsschwierigkeiten und bei Qt hatte ich damit gar keinen Kontakt.

Eumel

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 1:54pm

Ich habe nicht die geringste Ahnung, warum, aber jetzt geht es genauso.

Wahrscheinlich hat er veraltete Objektdateien gehabt.

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Y0Gi

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 4:13pm

*hust* Compilersprachen zum Entwickeln sind out! *hust* ;)

hurra

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 4:16pm

nicht unbedingt *hust*

E: Gerade QT ist ziemlich fein ;) Hat zwar jetzt nichts mit compilieren direkt zu tun, aber trotzdem

Eumel

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 10:40pm

Ich glaube Y0Gi mag Qt. Aber so ein Einwurf kommt immer von irgendwem, wenn C/C++ wieder mal seine Objektdateien durcheinander wirft. *hehe*

Das bin ich inzwischen gewohnt. Mein Mitbewohner ist auch so ein Python-Anhänger. :D

@Y0Gi: Tests schreiben ist in! ;)

MFG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Y0Gi

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 10:54pm

Ich finde KDE hässlich wie die Nacht und dass Trolltech von Nokia übernommen wurde, hat in diesen Tagen einen sehr üblen Nachgeschmack. Mit Qt habe ich in einem Projekt gearbeitet und als Bibliothek war es durchaus gut. Nachwievor finde ich den Kompilierungsprozess in C/C++ aber sehr umständlich (Java mit Eclipse fällt dagegen fast gar nicht auf) und dass Qt selbst noch dieses `qmake` draufpackt, hat es mir nicht angenehmer gemacht, sondern zusätzliche Probleme beschert.

Quoted

@Y0Gi: Tests schreiben ist in! ;)

Ich versuche mich immer mal wieder dran und für Libs, abgekoppelte Callables oder CLI-Apps klappt das auch sehr gut. Web- oder GUI-Apps zu testen ist dagegen mit Unittests nicht so intuitiv, da muss ich erst noch einige Frameworks abklappern.

grover

Senior Member

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 11:40pm

Quoted from "Y0Gi"

Ich finde KDE hässlich wie die Nacht und dass Trolltech von Nokia übernommen wurde, hat in diesen Tagen einen sehr üblen Nachgeschmack. Mit Qt habe ich in einem Projekt gearbeitet und als Bibliothek war es durchaus gut. Nachwievor finde ich den Kompilierungsprozess in C/C++ aber sehr umständlich (Java mit Eclipse fällt dagegen fast gar nicht auf) und dass Qt selbst noch dieses `qmake` draufpackt, hat es mir nicht angenehmer gemacht, sondern zusätzliche Probleme beschert.


Sehe ich genau so. Allerdings ohne den Java-Teil :)

Eumel

God

Re: [Qt 4.3.3] Unit Testing

Monday, March 3rd 2008, 11:59pm

Quoted from "Y0Gi"

Ich finde KDE hässlich wie die Nacht ...


Das Design/UI von KDE hat absolut nichts mit Qt zu tun!

MfG

Edit: Die Qt-Integration in Eclipse ist durchaus gelungen. Solltest du mal testen ;)
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.

Y0Gi

God

Re: [Qt 4.3.3] Unit Testing

Tuesday, March 4th 2008, 12:44am

Quoted from "Saiya@HPI"

Das Design/UI von KDE hat absolut nichts mit Qt zu tun!

Nein, aber das "Design" von KDE schadet dem Image von Qt - und meinen Augen.

Eumel

God

Re: [Qt 4.3.3] Unit Testing

Wednesday, March 5th 2008, 11:42am

Au ja - leider. :(

MfG
"I've always said, the Web is the sum of all human knowledge plus porn.", Ron Gilbert
UltraStar Manager 1.7.2 | Infos zu meinem PC | .o0 DeathSpank 0o.