Chapters
29 Chapters
|
2:54:09
|
Login to bookmark this video
-
Course Code
Subscribe to download the code!Compatible PHP versions: ^7.0, <7.4
Subscribe to download the code!Compatible PHP versions: ^7.0, <7.4
-
This Video
Subscribe to download the video!
Subscribe to download the video!
-
Subtitles
Subscribe to download the subtitles!
Subscribe to download the subtitles!
-
Course Script
Subscribe to download the script!
Subscribe to download the script!
15.
Mocks: expects() Assert Method is Called Correctly
Scroll down to the script below, click on any sentence (including terminal blocks) to jump to that spot in the video!
Subscribe to jump to this part in the video!
Keep on Learning!
If you liked what you've learned so far, dive in! Subscribe to get access to this tutorial plus video, code and script downloads.
While the fundamentals of PHPUnit haven't changed, this tutorial *is* built on an older version of Symfony and PHPUnit.
What PHP libraries does this tutorial use?
// composer.json
{
"require": {
"php": "^7.0, <7.4",
"composer/package-versions-deprecated": "^1.11", // 1.11.99
"doctrine/doctrine-bundle": "^1.6", // 1.10.3
"doctrine/orm": "^2.5", // v2.7.2
"incenteev/composer-parameter-handler": "^2.0", // v2.1.2
"sensio/distribution-bundle": "^5.0.19", // v5.0.21
"sensio/framework-extra-bundle": "^3.0.2", // v3.0.28
"symfony/monolog-bundle": "^3.1.0", // v3.1.2
"symfony/polyfill-apcu": "^1.0", // v1.6.0
"symfony/swiftmailer-bundle": "^2.3.10", // v2.6.7
"symfony/symfony": "3.3.*", // v3.3.13
"twig/twig": "^1.0||^2.0" // v2.4.4
},
"require-dev": {
"doctrine/data-fixtures": "^1.3", // 1.3.3
"doctrine/doctrine-fixtures-bundle": "^2.3", // v2.4.1
"liip/functional-test-bundle": "^1.8", // 1.8.0
"phpunit/phpunit": "^6.3", // 6.5.2
"sensio/generator-bundle": "^3.0", // v3.1.6
"symfony/phpunit-bridge": "^3.0" // v3.4.30
}
}
4 Comments
It was nice if you would have showed the testing of eventsubscribers and eventlisteners
Hey Mehul-J!
That's actually a good point! I test these with 2 strategies:
1) Unit test: if the code is complex enough, I'll unit test the event listener method. But usually, if the logic is this complex, I'll isolate the main part of the logic to a separate class and unit test *that* class.
2) Functional test: Once your logic is unit tested (somewhere), all you really need to know is "is my event listener/subscriber" correctly configured so that it was executed? Depending on what your listener does, this can be tricky or not tricky. Basically, I would make a request (in a test) to my site in order to trigger the event listener, and then "assert" something that it did.
I noticed that you asked this in the "mocks" section, so I may not have answered exactly what you were asking - let me know if that's the case :). If I were unit testing an event listener/subscriber, I would mock any constructor dependencies it has... but for the event argument, I would typically try to create that directly, as those are usually simple objects. But if it's complicated enough, you could mock that too.
Cheers!
Wrong code block after line **Awesome! Move back to DinosaurFactory, and re-fix the length line. Double-check that this fixes things. It does!**
@Matt Thanks for informing us! I just fixed that code block :)
"Houston: no signs of life"
Start the conversation!