Automated testing

Testing seems to be a developer-thing at first. However, as a non-technical user, you still want to know whether things are working. Humans make mistakes. Because of this, automated testing (ie: having tests run automatically all the time) are a very reliable way to guarantee software quality.

Testing types

We take proud in taking testing with our extensions up a notch. Manual testing is part of the development process. However, whenever changes are committed and pushed to our GitLab server, various tests are performed:

  • PHP Compatibility with future PHP versions
  • Unit tests based on PHPUnit
  • Integration tests based on PHPUnit
  • Functional tests based on Playwright (browser-based)
  • PHPCS and PHPStan static analysis
  • Yireo ExtensionChecker validation

Automatic test runs

All tests (except Playwright tests) are run with every git push made to our GitLab server. Similarly, all tests (except Playwright tests) are run with every single module release. Playwright tests are run in parallel on a separate server continuously.

Real-life module updates

In the developer section of our documentation, a listing of all modules can be found. This includes details like compatibility with Magento versions and PHP versions. But also how many tests are included: Unit tests, integration tests, functional tests.

This listing is updated in real-time (well, after a small delay of possibly a few hours), once a module its source code is updated with new tests.

A single HTTP request to update numerous HTML elements, taken from hyva.demo.loki-checkout.com
A single HTTP request to update numerous HTML elements, taken from hyva.demo.loki-checkout.com

Last modified: May 13, 2025