Testing Database with QTest



  • Hello,

    I would like to write some QTest for database class, like connecting to database, insert tables , data.... I am beginner in this field and don't have a clue how should I start with it. I read some articles which mostly were about testing GUI. But they did not help me so far. I appreciate someone who could give me further information.



  • I would recomend you have a look at -> voidrealms.com



  • Suths thanks for the suggestion.
    But I still could not find QTest example. I know how to connect to database and get the query from but I don't know how am I supposed to write some QTest(UnitTest) for it. :(



  • Did u read chapter 16: Unit Testing in the Book: Foundations of Qt Development ?



  • Not related to databases, but the same type of concepts apply to testing as with anything else. Take a look at the tests under

    http://kenai.com/projects/mongoviewer/sources/svn/show/bson/trunk/src/test?rev=140



  • Thank you MuhamedAuda for introducing the Book. I have read the UnitTest chapter. The first test I wrote is as following:

    @
    void TestDBMethods::testConnection(){

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setDatabaseName("test");
    db.setHostName("localhost");
    db.setUserName("************");
    db.setPassword("************");
    QVERIFY(db.isValid());
    QCOMPARE(db.isOpen(), true);
    

    }
    @

    in the normal case my connection will be established but in this case I got fail by QCOMPARE. Could anyone tell me where my error is?

    Question: what are the alternatives for testing the methods of another subproject in my test project?



  • Ok I got my error.

    I have to write @QCOMPARE(db.open(), true)@

    But I still am looking forward to any suggestions that may help me to test the methoes of other subprojects in my test projects.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.