Testing exceptions
Sometimes we need our tests to check if an exception was generated. A common case is when testing if some validations are being done properly.
In our example, the test_count()
method uses a Warning
exception as a way to give information to the user. To check if an exception is raised, we place the corresponding code inside a with self.assertRaises()
block.
We need to import the Warning
exception at the top of the file:
from odoo.exceptions import Warning
And add to the test class a method with another test case:
def test_count(self): "Test count button" with self.assertRaises(Warning) as e: self.wizard.do_count_tasks() self.assertIn(' 2 ', str(e.exception))
If the do_count_tasks()
method does not raise an exception, the check will fail. If it does raise that exception, the check succeeds and the exception raised is stored in the e
variable.
We use that to further inspect it. The exception message contains the number of...