International PHP Conference
The Conference for PHP and Web Development

Workshop: better and faster — TDD-ing a Ride-hailing Application with PHPUnit, Symfony and Doctrine [SOLD OUT]

Workshop
Until conference starts:
✓ 2 in 1 conference special
✓ Group discount
Register now
Bis Konferenzbeginn:
✓ 2-in-1-Konferenzpaket
✓ 5-Tages-Special
✓ Kollegenrabatt
Jetzt anmelden
Thank you for attending
✓ See you in 2021!
Danke für Eure Teilnahme
✓ Bis 2021!
Infos
Monday, June 3 2019
09:00 - 17:00
Booking note:
TDD Workshop

Imagine building an application without having to mess with a web browser, a REST client or a MySQL client. What if you could build full-blown functionality with realistic data operations within the comfort of a unit test harness? What if this meant shipping code earlier and more frequently than you ever have before? 

Content of the Workshop

This workshop aims to answer the following questions:

  • How do I apply Test-Driven Development when building a Web Application?
  • Where do I start?
  • What kind of architecture should I use?

Beyond that, the idea of this workshop is to challenge the misconception that "TDD makes me slower". We will show how to leverage TDD, to ship a web service faster than you ever have thanks in part to:

  • An enabling architecture
  • The TDD methodology
  • The easy integration of DoctrineORM with PHPUnit, when using the Symfony Framework

Structure of the Workshop

Part 1
Part 2
  • UserRepositoryTest – newUser
  • UserServiceTest – registeruser
  • CreateUserCest – Controller & Database Generation
Part 3
  • UserRepositoryTest – assignRole
  • UserServiceTest – assignRoleToUser
  • CreateUserCest – assignRole & Database Generation
Part 4
  • LocationRepositoryTest – testCreateAndGetNewLocationFromLatLong
  • LocationRepositoryTest – testGetAlreadySavedLocationFromLatLong
  • LocationServiceTest – testGetLocationFromLatLong
Part 5
  • RideRepositoryTest – createRideWithDepartureAndPassenger
  • RideRepositoryTest – assignDestinationToRide
  • RideRepositoryTest – assignDriverToRide
Part 6
  • RideServiceTest – newRide(AppLocation $departure, AppUser $passenger)
  • RideServiceTest – assignDestination
  • RideServiceTest – assignDriver
  • CreateRideCest – newRide, Assign Destination, Assign Driver

Skills
  • Attendees should be roughly familiar with the basics of a Test-Driven Development workflow, and ideally, practice some "TDD Katas", which can be found online.
  • I recommend watching this talk before the workshop: http://bit.ly/tdd-talk-2
​Tools
  • I will give attendees a private link to a video replicating the beginning part of this workshop. I will also commit and push the code to a dedicated branch to my GitHub such that attendees will have access to the code.
  • Attendees can choose to watch me code live and ask questions as I code.
  • Attendees can also choose to code alongside me. Those who wish to code alongside me should:

This Session originates from the archive of Diese Session stammt aus dem Archiv von BerlinBerlin . Take me to the program of . Hier geht es zum aktuellen Programm von Berlin Berlin .

This Session originates from the archive of Diese Session stammt aus dem Archiv von BerlinBerlin . Take me to the program of . Hier geht es zum aktuellen Programm von Munich München .

This Session Diese Session originates from the archive of stammt aus dem Archiv von BerlinBerlin . Take me to the current program of . Hier geht es zum aktuellen Programm von Berlin Berlin or oder Munich München .

Stay tuned!

Behind the Tracks of IPC

PHP Core & Coding
Best practices & applications

General Web Development
Broader web development topics

DevOps & Continuous Delivery
Learn about DevOps and transform your development pipeline

Software Architecture
All about PHP frameworks, concepts & environments

Web Security
All about web security

Software Quality
More about software testing tools & strategies

Agile & Company Culture
Getting agile right is so important

Content Management Systems
Sessions on content management systems

#slideless (pure coding)
See how technology really works

PHP Frameworks
All about PHP Frameworks

Docker, Kubernetes, Cloud
Cloud-based & native apps