Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Behat Layered Cake - KaunasPHP

Behat Layered Cake - KaunasPHP

Speed up Behat tests with a clever use of the layered architecture - KaunasPHP meetup edition!

Marek Matulka

January 14, 2015
Tweet

More Decks by Marek Matulka

Other Decks in Programming

Transcript

  1. Typical dev stack - Vagrant VM - Symfony framework -

    mysql or mongodb storage - Linux/OS X host - scrutiniser-ci
  2. What if I had 3000+ steps? 300 steps took over

    10 minutes 3000 steps will take over 100 minutes! (inside guest VM)
  3. What if I had 3000+ steps? 300 steps took over

    1 minute 3000 steps will take over 10 minutes! (on host)
  4. Dependency Inversion “High level modules should not depend on lower

    level implementation” – Good old Uncle Bob
  5. Hexagonal Architecture UI Adapter Log Adapter Data Storage Adapter Domain

    UI client port log adapter port persistence layer port Data Provider Adapter data provider port
  6. Hexagonal Architecture UI Adapter Log Adapter Test Adapter Test Adapter

    Data Storage Adapter Test Adapter Domain External Data Adapter Test Adapter
  7. Hexagonal Architecture UI Adapter Log Adapter Test Adapter Test Adapter

    Data Storage Adapter Test Adapter Domain External Data Adapter Test Adapter