Adam Wathan presents a detailed walkthrough of test-driven development (TDD) in Laravel, demonstrating how to build features from scratch using both acceptance tests and unit tests. He builds a Twitter clone called 'Tweeter' and shows how to implement features like viewing user profiles and sending follower notification emails, while explaining best practices around using mocks, spies, and fakes in testing.
The talk focuses on Test-Driven Development (TDD) and behavioral design patterns, particularly emphasizing the importance of object communication and mocking in software design. The speaker discusses how exposing object communications through tests can help identify design problems and SOLID principle violations. He argues that mocks should be used as design tools rather than just for test isolation, and presents several case studies showing how proper mocking practices can lead to better software design.
The talk discusses how Test-Driven Development (TDD) has evolved into Specification by Example and Behavior-Driven Development (BDD). The speaker demonstrates this evolution by building a Wikipedia search feature using PHP Spec, showing how to write specifications before implementation, use mock objects, and integrate the solution with Laravel. The presentation emphasizes the importance of changing terminology from 'tests' to 'specifications' to better communicate intent and improve developer understanding.
A comprehensive talk on testing best practices in Laravel, covering 12 tips for effective testing. The speaker discusses various testing tools and techniques, from IDE configurations to test organization and quality checks. Key focus areas include TDD, automated testing workflows, and ways to make tests more readable and maintainable.