Acceptance Testing Symfony Forms

Imagine a world of development where forms never existed. It would be a peaceful, loving, and enjoyable world for all concerned.

Unfortunately, back in the Real World, we have forms. Lots and lots of forms.

Want a new passport? Here's some forms.

Have to submit a tax return? Forms galore.

Had an accident in the work place that wasn't your fault? Ok, I think I've strayed from the point...

Yes, so forms are a daily hazard. There are so many different combinations and criteria that need to be met that simply doing a manual test every time you change some code becomes very time consuming very quickly.

And what happens with time consuming tasks? They get put on the queue. The ever growing queue. The queue that you will never get round to. And oh, besides, I've got to add another bit to that form so I'll test then. And then you don't. And then the system melts and people (read: management) lose their minds.

So, let's take the pain out of testing our forms. Let's let Codeception take over that burden whilst we put the kettle on, make a brew, and watch loads of text stream down our console. It's like we're working, but we aren't. And management will love you for it.

Code For This Course

Get the code for this course.


# Title Duration
1 Installing Codeception in Your Symfony 2 Project 04:20
2 Bootstrapping Codeception 02:09
3 Codeception's Folder Structure 06:43
4 Generating Tests 06:28
5 How to Run Codeception Tests 02:44
6 Our First Acceptance Test 08:00
7 An Alternative Perspective on Acceptance Testing 04:33
8 Acceptance Testing Symfony Forms 08:22
9 Acceptance Testing and Javascript (Part 1 of 2) 07:31
10 Acceptance Testing and Javascript (Part 2 of 2) 08:06
11 An Introduction to Unit Testing in Codeception 04:24
12 Unit Testing a Symfony Service 11:59
13 Integration with Symfony 2 06:27
14 Databases and Unit Tests 14:21
15 Real World Unit Testing - Database Clean Up Issues 06:15
16 Fast PHP Unit Testing with SQLite Database 10:19
17 Mocking the Entity Manager 20:22
18 Codeception Selenium Setup 06:08
19 How to Setup XDebug with PHPStorm 07:36
20 Step Objects and Page Objects 09:35
21 Fizz Buzz Kata 24:43
22 Code Coverage Reports 10:30
23 Running Acceptance Tests Faster With Phantom JS 01:30
24 Mobile Browser Tests 01:18