Is it possible to have QCOMPARE call the operator<< overload for my custom QObject-derived class upon failure?
The following test only prints: FAIL! : Untitled1Test::testCase1() Compared pointers are not the same Loc: [../untitled1/tst_untitled1test.cpp(44)] Code: #include <QDebug> #include <QString> #include <QtTest> class MyObject : public QObject { Q_OBJECT public: MyObject() {} private: // ... }; QDebug operator<<(QDebug debug, const MyObject *myObject) { debug.nospace() << "(MyObject objectName=" << myObject->objectName() << ", other MyObject-specific stuff...)"; return debug.space(); } class Untitled1Test : public QObject { Q_OBJECT public: Untitled1Test(); private Q_SLOTS: void testCase1(); }; Untitled1Test::Untitled1Test() { qRegisterMetaType<MyObject*>(); } void Untitled1Test::testCase1() { MyObject object1; MyObject object2; QCOMPARE(&object1, &object2); } QTEST_APPLESS_MAIN(Untitled1Test) #include "tst_untitled1test.moc" Cheers. _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest