In this post I’ll introduce the methodology known as test-driven development, and how to use it in your projects. The difference between “normal” and test-driven development (TDD) is that when doing TDD, you write unit tests for your new code before writing the code itself. This way you ensure good test coverage for your code, and your code will also …
Unit testing 4: Mock objects and testing code which uses the database
After learning to write tests and some good testing practices, it’s now time to look at mock objects. When testing a class which needs an instance of another class to work, you do not want to depend on the other class too much. This is where mock objects come in – a mock object is a “clone” of an object, …
Unit testing 3: Writing tests for existing code
Now that you know what unit testing is and how to write and run tests, it’s time to look at writing tests in more depth. Today we’ll take an example class and write tests for it. We’ll also introduce some common testing methodologies.
How WidgetCity does a tile-based map using just CSS
My city building game, WidgetCity, displays the city as a table, each cell of a table representing one tile. The tile map is done purely using just CSS, and CSS classes. The map is also scrollable. How is this all done?
Unit testing part 2: Writing and running tests
Continuing from the unit test introduction, we will now continue and take a look at how to write tests and ways to run the tests.
Refactoring
Today I’d like to point out a bunch of good articles about refactoring – the process of improving code without changing the functionality. Sameer Borate has written four posts about the topic in his blog, and I encourage you to check them out: Refactoring: An introduction to PHP programmers Refactoring 1: Conslidate conditional expressions Refactoring 2: Extract method Refactoring 3: …
Unit testing: Introduction
Due to popular demand, I’ll be writing a bunch of posts on unit testing. In this post I’ll introduce unit testing: What it is, when it’s a good idea and when it might not be. I’ll also discuss a bit about what makes for a good unit test. Next week I’ll post a followup to this, which will be more …
How to pass variable values to JavaScript
A relatively common task in today’s Web 2.0 apps is passing values from a server-side script (or through a link) to JavaScript, affecting the client-side script execution. Not surprisingly, there are a few ways to do that. Let’s look at three and their pros and cons: Embedding scripts into templates Passing variables in URLs Using configurable scripts
Dealing with different password validation schemes in a single app
If your application is well thought out, you would not want to save any data that isn’t valid. So what do you do, when you need different validation schemes, say for passwords, depending on some special case? For example: Your user passwords need to be at least 8 characters long and contain upper and lower case letters, a number and …
Doctrine vs. Propel: 2009 update
The best PHP ORM libraries, Doctrine and Propel. Last year I compared them to each other, and now it’s time to get a fresh look at how they have advanced in about a year – Is Doctrine still the better of the two? This time, I’ll also look at the features of each in more depth.