unit tests
Defining the various unit tests for the OMEGALPES modules when the code is modified or when external contributions are added. The package coverage should be installed.
Afin d’éviter toute régression lors de modifications du code, mais aussi lors de l’intégration de contri- butions, il est nécessaire d’avoir une base de tests unitaires couvrant la majorité des cas d’usage du code source. Dans la structure du projet, les tests sont généralement placés dans un package Python à part, dans un dossier frère de celui du projet, au même niveau que la documentation. Les tests sont déclarés dans des modules Python, chacun pouvant contenir un ou une plusieurs jeux de tests, i.e. une classe héritant de unittest.TestCase 7 . Ces classes contiennent des tests, i.e. des méthodes dont le nom commence par test_ . Les tests peuvent être exécutés : — en ligne de commande avec py.test ou nose . Chacun doit être installé à l’aide de pip . — avec PyCharm, qui détecte les tests automatiquement et peut les exécuter à l’aide de py.text ou nose , selon leur disponibilité. Il est recommandé d’installer le paquet Python coverage , permettant de calculer la couverture de code des tests unitaires. Si ce paquet est installé, PyCharm est capable d’afficher directement la couverture des tests sur chaque fichier du projet.