[resolu] cppunit

cppunit [resolu] - C++ - Programmation

Marsh Posté le 14-10-2007 à 13:05:51    

Salut
 
Je m'attaque aux tests unitaires de c++ et j'ai un ptit soucis  
 
tout d abord ma classe :  
 

Code :
  1. /*
  2. * Classe testfichier
  3. *  
  4. */
  5. #ifndef TESTFICHIER
  6. #define TESTFICHIER
  7. #include <cppunit/TestFixture.h>
  8. #include <cppunit/extensions/HelperMacros.h>
  9. #include "fichier.h"
  10. #include <iostream>
  11. namespace sys{
  12. class TermTest : public CppUnit::TestFixture{
  13.    CPPUNIT_TEST_SUITE(TermTest);
  14.    CPPUNIT_TEST(creation);
  15.    CPPUNIT_TEST(testnom);
  16.    CPPUNIT_TEST_SUITE_END();
  17.    fichier *f;
  18.  
  19. public:
  20.    TermTest() {}
  21.    void creation(){
  22.   f=new fichier("toto.txt",10);
  23.  }
  24.    void testnom(){
  25.  int t = f->getTaille();
  26.   //CPPUNIT_ASSERT_EQUAL(10,10);       
  27.   //CPPUNIT_ASSERT_EQUAL(12,12);
  28.   }
  29. };
  30. }


 
Lorsque je lance mon test, il bloque sur la ligne : int t = f->getTaille(); avec une erreur de segmentation. Je suppose qu'il doit considerer que l'objet f n'a pas été créer alors qu'il l'a été lors de l'appel creation.  
 
Est ce normal ?  
 
Merci


Message édité par guiguivts le 14-10-2007 à 14:58:07

---------------
http://plainedemazerolles.free.fr
Reply

Marsh Posté le 14-10-2007 à 13:05:51   

Reply

Marsh Posté le 14-10-2007 à 13:19:33    

il crées une intance de la classe pour chaque test.
 
pour les initialisation / nettoyages, la norme xUnit veux que ce soit fait dans les méthodes setUp() et tearDown() mais comme on est en C++, tu peux le faire dans le constructeur / destructeur de ta classe.

Reply

Marsh Posté le 14-10-2007 à 14:57:48    

yes je venais de tester de le faire dans le constructeur et ça marche merki ;)


---------------
http://plainedemazerolles.free.fr
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed