Talk in English - US at Midwest PHP 2017
View Slides: https://josephdpurcell.github.io/principles-of-unit-testing/presentations/2017-03-17-MidwestPHP/index.html
Checkout the code: https://github.com/josephdpurcell/principles-of-unit-testing
Short URL: https://joind.in/talk/1a467 (QR-Code (opens in new window))
The proliferation of testing strategies outside of a broadly agreed set of definitions has caused confusion and a waste of effort by not fully understanding how to apply the fundamentals of unit testing. Let's change that.
In this session, we will cover the five types of test doubles: dummy, fake, stub, spy, and mock, showing code examples of how to use each with PHPUnit and Prophecy. Layered on top of this we will observe the difference between sociable and solitary tests, as coined by Jeffrey Fields. Lastly, we will look at how test smells naturally surface and what strategies can be used to mitigate them, such as Arrange-Act-Assert, object mothers and data builders.
The key takeaway from this session will be a deep knowledge of unit testing: when to apply one double versus another, when to use solitary vs sociable, and how to mitigate test smells.