Unit tests can validate the behavior of a PHP class when it can be isolated. However, some classes cannot be validated this way. Moreover, a lot of logic from PrestaShop is written into complex SQL queries that this kind of test cannot validate. This is why we also need integration tests.
We use the following stack: