= Écrire des tests

[frame=none,grid=none, cols="1a,1a"]
|===
|*Avantages :*

* fiabilité des projets
* éviter les régressions, sérénité lors des MR
* peut dans une certaine mesure guider le développement (test driven development)
* plus à jour que la documentation

|*Inconvénients :*

* vendre les tests au client
* effort de conception des tests
|===

Chronophage sur le moment, mais gain sur le long terme.

== Références

* Documentation officielle `Odoo` sur les tests : https://www.odoo.com/documentation/master/developer/reference/backend/testing.html[version _master_]
* Tutoriel officiel `Odoo` sur les tests unitaires : https://www.odoo.com/documentation/master/developer/tutorials/unit_tests.html[version _master_]
* Documentation officielle `unittest` : https://docs.python.org/3/library/unittest.html[version _latest_v3_]
* Queue job : https://github.com/OCA/queue/tree/-/queue_job#testing
* MagicMock : https://docs.python.org/3/library/unittest.mock.html#unittest.mock.MagicMock
* Dans Issues : https://gitlab.ndp-systemes.fr/odoo/v15/issues/-/tree/master/issues_tests
* Dans Mousset : https://gitlab.ndp-systemes.fr/odoo/v15/tms/core/-/tree/tms-dev2/tms_tests

== Tests avancés

* test de mail, web-tour, web
* Coverage dans le Runbot
* rapport de Unittest dans le Runbot
