J'ai déclaré QObject macro, mais encore son appel de la fonction sans passer l'objet QObjectQObject macro a déclaré
Voici mon code keyusermanagertest.cpp
#define private public
#define protected public
#include "keyusermanagertest.h"
#include "storageusermanager.h"
#include "keyusermanager.h"
#include "alkuser.h"
#undef protected
#undef private
#include <QDebug>
#include <QtTest/QtTest>
QTEST_MAIN(KeyUserManagerTest)
void KeyUserManagerTest::init()
{
}
void KeyUserManagerTest::cleanup()
{
}
void KeyUserManagerTest::test_initialization()
{
// Already tested under BackendTest::test_initialization()
}
void KeyUserManagerTest::settersAndGetters()
{
AlkUser userInfo;
QString user="Puneet Goyal";
StorageUserManager* storageuser=new StorageUserManager();
KeyUserManager* keyuser=new KeyUserManager(storageuser);
keyuser->updateUserData(user,userInfo);
qDebug()<<"UPDATION DONE!!!!";
// Now setting the rest of the details for user Puneet Goyal using AlkUser Object
userInfo.setName("Puneet");
userInfo.setContact("21897121");
userInfo.setType("savings");
userInfo.setAccount("123456789");
userInfo.setAmount("100000");
// Now retrieving all the user details using KeyUserManager Object
QVariant vari=keyuser->getUserInfo("Puneet Goyal");
}
keyusermanagertest.h
#ifndef KEYUSERMANAGERTEST_H
#define KEYUSERMANAGERTEST_H
#include <QtCore/QObject>
class KeyUserManager;
class KeyUserManagerTest : public QObject
{
Q_OBJECT
private slots:
void init();
void cleanup();
void test_initialization();
void settersAndGetters();
};
#endif
Sa sortie de compilation est la suivante " /home/puneet/puneet/office/alkimia/payment/backend/keyusermanagertest.cpp: Dans la fonct ion 'void KeyUserManagerTest :: settersAndGetters()': /home/puneet/puneet/office/alkimia/payment/backend/keyusermanagertest.cpp:52: erreur: aucune fonction correspondante pour l'appel à 'StorageUserManager :: StorageUserManager()' /home/puneet/puneet/office/alkimia/payment/backend/storageusermanager.h:41: remarque: les candidats sont: StorageUserManager :: StorageUserManager (QObject *) /home/puneet/puneet/office/alkimia/payment/backend/storageusermanager.h: 37: note: StorageUserManager :: StorageUserManager (const StorageUserManager &) /home/puneet/puneet/office/alkimia/payment/backend/keyusermanagertest.cpp:53: erreur: aucune fonction correspondante pour l'appel à 'KeyUserManager: : KeyUserManager (StorageUserManager * &) ' /home/puneet/puneet/office/alkimia/payment/backend/keyusermanager.h:44: remarque: les candidats sont les suivants: KeyUserManager :: KeyUserManager (StorageUserManager *, QObject *) /home/puneet/puneet/office/alkimia/payment/backend/keyusermanager.h:41: Note: KeyUserManager :: KeyUserManager (const KeyUserManager &)
Merci
merci, mais maintenant il me donne une erreur que erreur: spécification de type de retour pour le constructeur invalide – Puneet
hmmm ... puis quelque chose ne va pas avec votre constructeur. Est-il déclaré public? – Raiv
oui son public public: void KeyUserManagerTest (QObject * parent = 0); – Puneet