1. #1
    Gleke's Avatar
    Registered
    05/07/10
    Location
    putte
    Posts
    1,882
    iTrader
    0
    Mentioned
    0 Post(s)

    Unit tests in C++

    Hallo

    Voor school moeten wij een project maken dat samen werkt met een database (phpMyAdmin)
    Alles werkt schrijven naar de database etc..

    Maar wij moeten ook unit tests schrijven en bij enkele tests gaat het fout

    Eerst maak ik een nieuwe klant aan en dan ga ik deze naar de DB schrijven (wat in het main project volledig werkt ) maar als ik dit in het test project doe lukt dat niet dit is mijn code

    Code:
    TEST_METHOD(TestKlantDAOSave)
    		{
    			Klant* k1 = new Klant("Voornaam","Achternaam","Straat","Stad",15,2500,15747898,7);
                            klantDAO::SaveKlant(k1);
                            int index = -1;
    			vector <Klant*> allek = klantDAO::GeefAlleKlanten();
    			for(int i=0; i<allek.size();i++)
    			{
    				if(allek.at(i)->getVoornaam() == "Voornaam" && allek.at(i)->getAchternaam() == "Achternaam")
    				{
    					index = allek.at(i)->getKlantnr();
    				}
    			}
    			
    			Klant* k2 = klantDAO::GeefKlant(index);
    
    
    			Assert::AreEqual("Voornaam", k2->getVoornaam().c_str(),true);
    			delete k1;
                            delete k2;
    		}
    Is het mogelijk om in een test solution naar de DB te schrijven of gaat dit enkel in het main project?

    Alvast bedankt
    Glenn
    no votes  

  2. #2
    pietje666's Avatar
    Registered
    18/12/07
    Location
    Wijnegem
    Posts
    1,158
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/5
    Waarschijnlijk heeft uw unit test de configuratie voor uw database niet (config file of dergelijke)?
    Wat is de foutmelding dat je krijgt?

    Dat buiten beschouwing te laten zou ik geen unit tests schrijven die naar uw database gaan, en als je het toch doet laat je unit tests dan runnen tegen een aparte kopie van je database.
    no votes  

  3. #3
    Gleke's Avatar
    Registered
    05/07/10
    Location
    putte
    Posts
    1,882
    iTrader
    0
    Mentioned
    0 Post(s)
    Quote Originally Posted by pietje666 View Post
    This quote is hidden because you are ignoring this member. Show
    Waarschijnlijk heeft uw unit test de configuratie voor uw database niet (config file of dergelijke)?
    Wat is de foutmelding dat je krijgt?

    Dat buiten beschouwing te laten zou ik geen unit tests schrijven die naar uw database gaan, en als je het toch doet laat je unit tests dan runnen tegen een aparte kopie van je database.
    Ik krijg geen error , hij voert de unit test gewoon uit en als je in de database gaat zien is er geen test bij gekomen.
    En de unit tests is een deel van het project en we hebben maar 1 stukje gekregen op de database. dus dit is de enige manier dat voor ons project kan denk ik.
    Een geef of verwijder functie werkt wel.
    no votes  

  4. #4

    Registered
    22/02/09
    Location
    leuven
    Posts
    27
    iTrader
    0
    Mentioned
    0 Post(s)
    Ik denk een fout te zien :
    k2 kan null zijn : met een sub-optimaal resultaat.
    Ter illustratie :
    #include <iostream>

    class Klant {
    public:
    Klant() { i = 1; }
    int getBla() { return i; }
    private:
    int i;
    };

    int main() {
    Klant *klant = 0;
    klant->getBla(); //exceptie
    return 0;
    }

    Reactie is langs de kwestie maar je hebt er misschien iets aan.
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in