Magento 2 Testing cursus
Verhoog de kwaliteit van je Magento 2 code door krachtige tests te schrijven
Verhoog de kwaliteit van je Magento 2 code door krachtige tests te schrijven
Wanneer je bedrijfskritische code in een live omgeving hebt, zoals bij een webshop, is het van vitaal belang om ervoor te zorgen dat bugs niet in productie terechtkomen. Nog belangrijker, je wilt niet dat bugs twee keer voorkomen. Testen is de sleutel. Maar om te beginnen met testen, heb je allereerst wat begeleiding nodig. Ten tweede moet je ook wennen aan de juiste flow. Deze training helpt je om de gewoonte aan te leren van het schrijven van unit tests, integratietests en functionele tests.
Jouw docent Jisse Reitsma
Jisse is de lead developer van 60+ Magento extensies en geeft al jaren technische trainingen voor Magento. Naast zijn vermogen om complexe technologie te begrijpen, is hij bedreven in het overzetten van deze kennis naar anderen. Jisse is de mastermind van de developer events MageTestFest, Reacticon en MageUnconference NL en een voormalig Magento Master (3x). Hij is ook actief in de Nederlandse vereniging Mage-OS Nederland.
Kies jouw live training
Omdat iedereen andere wensen heeft
- Economisch voor groepen van 5 of meer
- Bespreek bedrijfsspecifieke problematiek
- Op locatie bij jouw eigen kantoor
- Ideaal voor online of hybride teams
- Recordings achteraf beschikbaar
- Online via Zoom, Teams of dergelijks
Magento cursus onderwerpen
Krijg een indruk van onze training
- 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
Bekijk nu een preview
Zien is geloven
Of blader door al onze lessen in ons cursusportaal
Full access to all videos and other coursematerial is available for attendees of live trainings.
Ontdek onze Integratie Test Helper
Als je er klaar voor bent, kun je onze Yireo_IntegrationTestHelper uitproberen, die verschillende trucs toevoegt aan Magento Integration Testing: Extra asserties, een OOP install-config-mysql.php
bestand, CLI commando's.
Doelgroep
- Magento backend ontwikkelaars
- Magento lead ontwikkelaars
Zeer leerzame en nuttige training! Ondanks dat ik al 3+ jaar Magento ervaring heb, was er voldoende informatie waaruit ik nieuwe dingen heb geleerd.Renze Dijkstra (E-tales)
We gaven je MageTestFest
In 2018 organiseerden we voor het eerst MageTestFest - in Amersfoort. Ruimte voor 180 ontwikkelaars, volledig gericht op Magento testen, met grote namen als Sebastian Bergmann en Mathias Verraes. In 2019 deden we het nog een keer - in Florence, Italië. En misschien, misschien, op een dag, komen we terug.
Vereisten
- Magento 2-ervaring
- Kennis van Magento 2 OOP
- Ervaring met PHP OOP
We geven jou deze opties
Bij jullie of bij ons?
Iedereen leert in haar/zijn eigen tempo. Wij verzorgen zowel interne trainingen als publieke trainingen door heel Europa - wat het beste bij uw team past. Wanneer er 3 of meer ontwikkelaars aanwezig zijn, is een training op maat vaak voordeliger. Neem contact met ons op voor meer informatie.
Je krijgt cursusmateriaal
Bij elke workshop wordt officieel Yireo cursusmateriaal meegeleverd. Deelnemers ontvangen na de training een digitale versie van dit materiaal. Het bevat dia's, commentaar en referenties. Bovendien bevatten onze GitHub repositories nog veel meer codevoorbeelden.
Online klaslokalen
Online trainingen zijn ook onze trainingen: Via Zoom- of Google Hangout-sessies kan onze docent connecteren met jouw team. Het voordeel hiervan is dat het team ook zelf vanaf verschillende plekken verbinding kan maken, tijdsframes zijn flexibeler. Na afloop wordt ter referentie een video-opname met alle aanwezigen gedeeld.
Wij raden de volgende cursus volgorde aan
Magento 2 Backend Development I cursus
Optie voor in-house training
Level: Intermediate Type: Backend Developer
Magento 2 Backend Development II cursus
Optie voor in-house training
Level: Expert Type: Backend Developer
Magento 2 Testing Workshop
Optie voor in-house training
Level: Expert Type: Backend Developer
Gestructureerde training waardoor mijn algemene kennis van e-commerce en Magento is verbreed. Doel behaald!Erwin de Groot (Vendic)
Quotes van klanten
Snelle, diepgaande introductie tot Hyvä Checkout en Magewire. Jisse is echt een ervaren en goed geïnformeerde docent die cursussen aanbiedt voor kleine groepen mensen met voldoende ruimte voor vragen en deelname van alle deelnemers Ingmar de Vos (Mountain IT)
Na de Magento 2 bootcamp is mijn koudwatervrees afgenomen. Jisse geeft een breed beeld van Magento 2 mee en ik snap nu een stuk beter wat er mogelijk is. Maartje Meering (MDL Online)
Jisse bracht een heel interessant, praktisch en goed opgebouwd verhaald over het Magento 2 oerwoud Peter Keijsers (Experius)
Yireo kan de juiste partner voor jullie zijn
We hebben meer dan 5000 developers in verschillende disciplines onderwezen sinds 2005
- Professionele trainingen tegen betaalbare prijzen
- Echt actief met tal van vrijwillige projecten in de gemeenschap
- Trainings, bootcamps, hackathons, events
- Gepassioneerd, enthousiast, goed geïnformeerd