Articles about Testing

Legacy environments

Backward compatibility testing can be a bit of a drag. The actual testing may be straightforward, but setting up the environment often is not. A little while ago I have put a PHP app through its paces on Apache 1.3 with PHP 5.2. Apache 1.3 still accounts for about 5% of Apache installations out there. If an app is distributed directly to end users, perhaps on shared hosting, a market share of 5% is reason enough to make it work on old Apache, or at least give it a shot.

Current distros don't offer support for Apache 1.3, and haven't done so for ages. So here are my notes for setting up a reusable test system in a VM. I've also thrown in a recipe for setting up Java 6, which involves a bit of fiddling in a legacy OS. With Java 6 installed, even PhpStorm can be run in the stone-age VM.

Food for the Lizard

I've been using Komodo a long time already for PHP and web development. It has a feature to run unit tests inside the IDE, but frankly it was never really working well, and I've been using my own setup. With PHPUnit 3.5, the Komodo test feature is finally broken. So now is probably a good time to share a replacement.

PHP on Windows

In a GUI-driven operating system like Windows, where you don't hang around the command line that much, it is sometimes useful to run a PHP file from its context menu in Windows Explorer.

That's easy to set up. But a reasonably smart handler should perhaps not hand the file over to PHP blindly. PHPUnit test cases need a different treatment, so the handler could try to detect them and pass them on to PHPUnit instead.