background

Monday, November 23, 2026 - Thursday, November 26, 2026

Magento 2 Testing course

Online via Zoom

Join our upcoming training

Whenever you have business critical code in a live environment, like with a webshop, it is vital to make sure that bugs don't end up in production. Even more important, you don't want bugs to occur twice. Testing is the key. However, to get started with testing, you will first of all need a bit guidance. Second, you also need to get used to the right flow. This training helps you to get into the habit of writing unit tests, integration tests and functional tests.

Jisse Reitsma

Your teacher Jisse Reitsma

Jisse Reitsma is the developer of 90+ Yireo extensions and 200+ Loki extensions. He has given technical Magento trainings for years, focused on best practices and high quality code. Besides his ability to understand complex technology, he is skilled in making this knowledge understandable for everyone. With him, you can expect in-to-depth guidance plus lots of practical tips.

Details of this training

Start date
Monday, November 23, 2026
End date
Thursday, November 26, 2026
Daily times
09:30 - 12:30
Days
4 days
Location
Online via Zoom
Language
English
Minimum of attendees
2
Maximum of attendees
8
Price
€1956 (excluding VAT)
Included
Courseware, recordings
Contact us for details and subscribing

@ Online via Zoom

Zoom link

Prior to the training, you will be sent a link to attend the Zoom meeting. Make sure you have the Zoom client installed for best performance.

Recordings available afterwards

Once the training ends, you will be sent a link to the Zoom recordings, so that you can watch back the entire training when needed

With webcam and mic

Do make sure to attend with your webcam enabled and your microphone unmuted. Let's meet face-to-face and discuss things openly.

Regular breaks

Online meetings are intense, so is an online training. To make sure everyone stays fresh, regular breaks are added - every hour or so.

Program

Date
Nov 23
Start time
09:30
End time
12:30
Day 1
Date
Nov 24
Start time
09:30
End time
12:30
Day 2
Date
Nov 25
Start time
09:30
End time
12:30
Day 3
Date
Nov 26
Start time
09:30
End time
12:30
Day 4
Register now

Magento training topics

Explore your topics of choice

  • Why testing?
  • Testing strategies
  • Testing tools
  • Test Driven Development (TDD)
  • TDD is dead
  • System Under Test (SUT)
  • Types of testing
  • Magento tests
  • Organizing your tests
  • Make it a habit
  • PHPUnit overview
  • PHPUnit installation
  • PHPUnit configuration file
  • PHPUnit bootstrap
  • Breaking changes in PHPUnit
  • PHPUnit 10 upgrade
  • Setup PHPUnit
  • Run PHPUnit with Docker
  • Create Run Configuration
  • Running tests from PhpStorm
  • Rerun automatically
  • Rerun failed tests
  • Debug tests with Xdebug
  • Structure of a unit test class
  • TDD example
  • Using dev/tests/unit/phpunit.xml.dist
  • Simple example unit test
  • Coding katas
  • Testing a Config-class
  • Mocking classes
  • Stubs vs mocks vs dummies
  • Using the ObjectManager in unit tests
  • Testing exceptions
  • Data providers in tests
  • setUp & tearDown
  • Adding messages to the output
  • Spying with PHPUnit
  • Marking tests
  • Yireo Test Generator
  • Mocking functions
  • Good practices for tests
  • Code coverage
  • Overview of Integration Tests
  • Setting up integration tests
  • Running Integration Tests
  • TESTS_CLEANUP
  • Resetting the Integration Tests environment
  • First integration test
  • Which ObjectManager?
  • Testing a Config-class
  • Mocking vs ObjectManager in integration tests
  • Magento annotations & attributes
  • Config fixtures
  • Data fixtures
  • Tips for integration tests
  • Yireo Test Generator
  • Running tests with Xdebug enabled
  • Performance overview
  • ReachDigital Integration Testing Framework
  • Add Redis server
  • 04-dummy-elasticsearch
  • MySQL tuning
  • Composer replacements
  • Yireo Integration Test Helper
  • Minimizing modules that are enabled
  • Parallel test runs
  • Using tmpfs to speed up Integration Tests
  • yireo/magento-integration-tests-docker-composer
  • Testing module behaviour
  • First test
  • Generating tests
  • Checking for configuration values
  • Testing console commands
  • Testing controllers
  • Testing the layout independently
  • Testing sessions
  • Testing entities
  • Testing a schema
  • Testing event observers
  • Testing Magewire components
  • Testing DI plugins
  • ObjectManager preference overrides
  • Yireo Integration Testing Helper
  • Could not connect to the Amqp Server
  • Base table or view not found
  • Cannot open file
  • Connection refused
  • The default website isn't defined. Set the website and try again
  • Unable to retrieve deployment version
  • Issue with ifconfig in XML layout
  • tasklist.exe not found
  • The value of autoloader is specified, but file doesn't exist
  • Cannot instantiate interface Magento\Framework\Config\CacheInterface
  • About code quality
  • Defensive programming
  • Object Calisthenics
  • SOLID
  • Law of Demeter
  • Other principles
  • Static code analysis
  • What is legacy code?
  • Refactoring with tests
  • Strangler fig pattern
  • Characterization tests
  • Overview of Functional Tests
  • Functional tests setup
  • Validate products
  • Customer VAT validation
  • API Functional Testing
  • Custom REST test
  • Custom GraphQL test
  • Magento Functional Testing Framework (MFTF)
  • Overview of static tests
  • Running tests on Magento core
  • PHP CodeSniffer (PHPCS)
  • Magento 2 Coding Standard
  • Running PHPStan in Magento
  • PHP linting
  • Varnish tests
  • Mutation testing
  • Infection
  • Automated testing overview
  • GitHub Actions
  • End-to-End testing
  • Cypress
  • Resources
This course has been updated for compatibility with Magento 2.4.9+

Discover our Integration Testing Helper

If you are up for it, you can try out our Yireo_IntegrationTestHelper, which adds various tricks on top of Magento Integration Testing: Additional assertions, an OOP install-config-mysql.php file, CLI commands.

github.com/yireo/Yireo_IntegrationTestHelper

Target group

Target group

  • Magento backend developers
  • Magento lead developers
renze-dijkstra.jpg
Very informative and useful training! Even though I already have 3+ years of Magento experience, there was enough information from which I learned new things.
Renze Dijkstra (E-tales)
background

We gave you MageTestFest

In 2018, we organized MageTestFest for the first time - in Amersfoort, The Netherlands. Room to 180 developers, focused entirely on Magento testing, with big names like Sebastian Bergmann and Mathias Verraes. In 2019, we did it again - in Florence, Italy. And maybe, maybe, one day, we'll be back.

Requirements

Requirements

  • Magento 2 experience
  • Knowledge of Magento 2 OOP
  • Experience with PHP OOP
kevin-van-welzenis.jpg
At Yireo you will quickly get to know the world of Magento with all the new best practices.
Kevin van Welzenis (Vendic)

Customer quotes

The training was great! We learned all the golden nuggets, presented clearly and accessible. Essential for anyone who works or will work with Magento! Rick Bouma (Epartment)
I really enjoyed the Magento 2 Hyvä Theme Development course. The information is useful and well-structured. I appreciated the extensive practice, which helped me understand how to develop a frontend using Hyvä. Jisse is easy to listen to and engaging, which made the course even better. Nadezhda Ivanova (HYPR)
At Yireo you will quickly get to know the world of Magento with all the new best practices. Kevin van Welzenis (Vendic)
Read more quotes of our customers
background

Yireo could be the right partner for you

We have trained 5000+ developers in numerous disciplines since 2005

  • Professional training at affordable prices
  • Truely active with numerous open source projects in the community
  • Trainings, bootcamps, hackathons, events
  • Passionate, enthousiastic, knowledgable in the right combination

Some of the customers that we have trained in the past years

flint-studios.jpg
wunderman-thompson.png
networldsports.png
abovo.png
gerrits.png
dnovo.png
limesoda.png
classyllama.png
ceezoo.jpg
burst-digital.png
glue.jpg
youwe.png
See a more complete listing of our customers

Frequently Asked Questions

There is a minimum number of attendees listed. What does this mean?

When this course is organized in the form of a classroom-training, it is only held if there is a minimum number of attendees. This number is usually 4 but sometimes we bring this down to 2 or 3. This minimum number simply means that if a class is not "full", either you get a refund or your ticket is transferred to another date. With On-Demand courses (video courses), this number is not applicable.

Do you have any PPP discount available?

Yes, we do have a PPP (Purchasing Power Parity) discount available. Just enter `PPP` as a coupon code and the discount will be applied to your cart. We are using the Big Mac Index to recalculate prices. Note that - when ordering for a specific PPP rate - the country that you're entering in your billing address needs to match the exact country that you are visiting from (in other words: your IP needs to match the country you say you're from).