Magento 2 Testing Workshop - 02 December / 05 December 2024 (4 days)
In stock
SKU
t218
€975.00
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.
- Courses included: 1
Increase your code quality by writing tests
Most developers know that tests have benefits. But it always takes some time to get started with this habit. And then still, it is important to know the tricks to avoid getting stuck. This Yireo training helps you to get started with unit tests and integration tests. This includes basics like setup, stubbing and mocking. But this also includes advanced configurations for integrating tests, common scenarios and troubleshooting help. If you want to get started with testing efficiently, this is not to be missed.Price | €975.00 |
---|---|
Starting date | Dec 2, 2024 |
Ending Date | Dec 5, 2024 |
Included courses
Magento 2 Testing
Status: Complete
Last updated: 2024-10-07
Number of lessons: 127
Number of slides: 431
Videos: 0 hours
Preview this course
Want to see what this course is like? Checkout our Courseware Demo to preview this course and others.
Course content
Magento 2 Testing
- Testing overview
- 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
- PHPUnit overview
- PHPUnit installation
- PHPUnit configuration file
- Assignment: Setup a custom `phpunit.xml`
- PHPUnit bootstrap
- Breaking changes in PHPUnit
- PHPUnit 10 upgrade
- Setup PhpStorm
- Setup PHPUnit
- Run PHPUnit with Docker
- Create Run Configuration
- Running tests from PhpStorm
- Rerun automatically
- Rerun failed tests
- Debug tests with Xdebug
- Unit tests
- 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
- Integration Tests
- 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
- Integration testing performance
- 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`
- Integration Test scenarios
- 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
- Troubleshooting Integration Tests
- 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
- Code quality
- About code quality
- Defensive programming
- Object Calisthenics
- SOLID
- Law of Demeter
- Other principles
- Static code analysis
- Refactoring legacy code
- What is legacy code?
- Refactoring with tests
- Strangler fig pattern
- Characterization tests
- Functional Tests with PHPUnit
- Overview of Functional Tests
- Functional tests setup
- Validate products
- Customer VAT validation
- API Functional Testing
- Custom REST test
- Custom GraphQL test
- MFTF
- Magento Functional Testing Framework (MFTF)
- Static tests
- Overview of static tests
- Running tests on Magento core
- PHP CodeSniffer (PHPCS)
- Magento 2 Coding Standard
- Running PHPStan in Magento
- PHP linting
- Varnish tests
- Mutating testing
- Mutation testing
- Infection
- Test automation
- Automated testing overview
- GitHub Actions
- End-to-End testing
- End-to-End testing
- Cypress
- Miscellaneous
- Resources