Writing unit tests
Automated tests are generally accepted as a best practice in software. They not only help ensure code is correctly implemented, but more importantly, they provide a safety net for future code changes or rewrites.
In the case of dynamic programming languages, such as Python, there is no compilation step and syntax errors can go unnoticed. Ensuring there's test code coverage is particularly important for detecting code writing mistakes, such as a mistyped identifier name.
These two goals provide a guiding light to test writing. One goal should be test coverage – writing test cases that run all your lines of code.
This alone will usually make good progress on the second goal, which is to verify the correctness of the code. This is because, after working on code coverage tests, we will surely have a great starting point to build additional test cases for non-trivial use cases.
Changes in Odoo 12
In earlier Odoo versions, tests could also be...