Magento 2 Testing course
Increase your Magento 2 code quality by writing powerful tests
Increase your Magento 2 code quality by writing powerful tests
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.
Your teacher Jisse Reitsma
Jisse Reitsma is the developer of 60+ Magento extensions and has given technical Magento trainings for years. 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. Jisse is the mastermind of MageTestFest, Reacticon and MageUnconference and former Magento Master.
Pick your live training
Because everyone has different needs
- Instructor-led classroom
- Benefit from a real-time interaction
- Ask any question that you have
- Economical for groups of 5 and more
- Freely debate company-specific topics
- On-site at your company office
- Ideal for online or hybrid teams
- Recordings available afterwards
- Online via Zoom, Teams or similar
Join our upcoming online live training
Monday, December 2, 2024 - Thursday, December 5, 2024
Schedule for live training
Date | Training | Location | Details | |
---|---|---|---|---|
Dec 2 - Dec 5 |
Magento 2 Testing Workshop |
EN |
Online via Zoom |
Learn more
|
Do these dates not fit you well? Do you want to switch to another language?
Feel free to contact us to see what other options there might be.
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
Watch a preview now
See for yourself
Or browse through all lessons in our courseware portal
Full access to all videos and other coursematerial is available for attendees of live trainings.
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.
Target group
- Magento backend developers
- Magento lead developers
I have made use of Yireo its full range of both on-demand courses as well as classroom courses during my development career. Yireo its courses provide me with just that extra that no other courses have yet been able to: the encouragement to think outside the box.Isolde van Oosterhout (Sols Webdesign)
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
- Magento 2 experience
- Knowledge of Magento 2 OOP
- Experience with PHP OOP
These are the options we give you
At your place or ours?
Everyone learns at her/his own pace. We provide both in-house training and public training throughout Europe - whatever suits your team best. When 3 or more developers are attending, a custom training is often more economical. Contact us for more details.
You'll get courseware
Every workshop is accompanied with official Yireo coursematerial. Attendees are sent a digital version of this material after the training. It contains slides, comments and references. Additionally, our GitHub repos contain numerous more code samples.
Online classrooms
Online trainings are also our training: Via Zoom or Google Hangout sessions, our teacher is able to connect with your team. The benefit here is that the team is able to connect from various places itself as well, timeframes are more flexible. Afterwards, a video recording will be shared with all attendees for reference.
We recommend the following training flow
Magento 2 Backend Development I training
Option for in-house training
Level: Intermediate Type: Backend Developer
Magento 2 Backend Development II training
Option for in-house training
Level: Expert Type: Backend Developer
Magento 2 Testing Workshop
Option for in-house training
Level: Expert Type: Backend Developer
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)
Customer quotes
Jisse understands how you can put your brain to work and keep you constantly on the edge of your seat Kayne Spikker (Modern Minds)
A crash course by Yireo is like to be Neo learning Kung Fu Tjitse Efdé (Vendic)
You will notice Jisse his knowledge and experience in just a few moments. Despite the many topics, there is still depth that gives you that little bit of extra information to improve your work. These courses are highly recommended! Tristan Nederhoff (Vendic)
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