Unit Testing a Symfony Service

In this video we look at how we can use Codeception's Unit test suite functionality to do TDD against a Symfony 2 service.

We'll start off by generating ourselves a new Codeception Unit test which we can then use as the basis for actually writing our tests.

Whilst this is a gentle introduction to unit testing, it does cover something that you will quickly encounter in the real world - repeating tests that change only the data, not the test. There's a very elegant solution to this - using PHPUnit's @dataProvider syntax - so even if you're quite comfortable with unit testing, please do check out the video from around the 08:30 mark, where we begin looking at the data provider, and how it can streamline your test suite nicely.

Code For This Course

Get the code for this course.

Code For This Video

Get the code for this video.


# 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