Tryton fournit un framework de tests unitaires reposant sur unittest.
Le wiki décrit très bien comment procéder pour les tests unitaires d'un module.
Pour l'illustrer, nous allons reprendre notre 1er exemple de création de module (module mylibrary).
Description
- ajouter dans le répertoire modules/mylibrary, le sous-répertoire tests et les 2 fichiers suivants :
- créer le fichier __init__.py
#This file is part mylibrary module for Tryton.
#The COPYRIGHT file at the top level of this repository contains
#the full copyright notices and license terms.
from .test_mylibrary import suite
__all__ = ['suite']
- créer le fichier test_mylibrary.py
#!/usr/bin/env python
#This file is part mylibrary module for Tryton.
#The COPYRIGHT file at the top level of this repository contains
#the full copyright notices and license terms.
import sys
import os
DIR = os.path.abspath(os.path.normpath(os.path.join(__file__,
'..', '..', '..', '..', '..', 'trytond')))
if os.path.isdir(DIR):
sys.path.insert(0, os.path.dirname(DIR))
import unittest
import trytond.tests.test_tryton
from trytond.tests.test_tryton import test_view, test_depends
class MylibraryTestCase(unittest.TestCase):
'''
Test Mylibrary module.
'''
def setUp(self):
trytond.tests.test_tryton.install_module('mylibrary')
def test0005views(self):
'''
Test views.
'''
test_view('mylibrary')
def test0006depends(self):
'''
Test depends.
'''
test_depends()
def suite():
suite = trytond.tests.test_tryton.suite()
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
MylibraryTestCase))
return suite
if __name__ == '__main__':
unittest.TextTestRunner(verbosity=2).run(suite())
- exécuter les tests unitaires
python trytond/modules/mylibrary/tests/test_mylibrary.py
le résultat doit se terminer par :