Changes between Version 7 and Version 8 of Documentatie/Ontwikkelaar/Omgeving/Unittests


Ignore:
Timestamp:
08/01/22 10:10:25 (4 years ago)
Author:
henk
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentatie/Ontwikkelaar/Omgeving/Unittests

    v7 v8  
    77= Unit tests = 
    88 
     9== OpenAC 3 == 
     10 
     11== OpenAC 2 / Python == 
     12 
    913OpenAC heeft een grote verzameling ''unit tests'' om de functionaliteit van het programma te testen. Hierbij wordt vooral de algoritmische- en data-kant van het programma getest. Er wordt niet stilgestaan bij de user interface (op enkele puntjes na). 
    1014 
    11 == Unit Tests Uitvoeren == 
     15=== Unit Tests Uitvoeren === 
    1216 
    1317In de {{{development/}}} branch en releases vanaf versie 2.000 staat er in de bovenste directory van OpenAC een file {{{unittests.py}}}. Dit is het "aandrijf" script van de unittests voor het gehele programma. Het kan worden opgestart vanaf de command-line als ieder ander Python programma: 
     
    3135Er zit een handvol verwachte failures in de unittests, waar OpenAC dingen niet doet zoals we het verwachten (in bijzondere randgevallen). Errors geven aan dat er een probleem is in de OpenAC code die niet goed wordt afgevangen. Errors in de unittests kunnen direct als defect worden gerapporteerd in het [/newticket tickets systeem].  
    3236 
    33 === Tests Selecteren === 
     37==== Tests Selecteren ==== 
    3438 
    3539De tests van de adaptaties, desktop-laag, includes, kern en logica zijn allemaal afzonderlijk te selecteren met de opties `--with-*` (bijvoorbeeld `--with-include`). Hiermee zijn de grote groepen tests aan of uit te zetten. Met `--enable-all` worden alle tests aangezet. 
     
    5458}}} 
    5559 
    56 == Unit Tests Schrijven == 
     60=== Unit Tests Schrijven === 
    5761 
    5862Unit tests worden traditioneel opgeslagen in een bestand {{{unittests.py}}} in de desbetreffende directory. We streven ernaar om alle kernmodules een pakket unit tests te geven. Daarnaast hebben de directories {{{include/}}} en {{{logica/}}} tests '''en''' de adaptaties kunnen hun eigen unit tests hebben om lokale functionaliteit te testen. 
     
    7882Voor volledige documentatie zie [http://docs.python.org/library/unittest.html de Python documentatie voor de unittest module]. 
    7983 
    80 == Unit Test Coverage == 
     84=== Unit Test Coverage === 
    8185 
    8286In principe zouden de unittests 100% van de code-base testen. In de praktijk gaat dat niet lukken, want je hebt altijd wat platform-specifieke code die op je test-platform niet uitgevoerd gaat worden. Maar we streven, langzaam, naar volledige test-coverage.