SimpleTest vs. PHPUnit for PHP-based testing

Over the year's I've kind of gone back and forth on SimpleTest, a PHP-based unit test framework.

A few years ago, when PHPUnit was in its infancy, SimpleTest was the best PHP-based unit test framework. In the past few years, however, it seems like PHPUnit has been improved continually, while SimpleTest has languished somewhat.

Currently, I believe PHPUnit is the best choice for true "unit" ("micro") testing, while SimpleTest seems to be better for modest functional (integration) testing.

I say this because SimpleTest includes a fairly functional "text browser" which you can use to test web applications. So you can test your web application pretty easily with SimpleTest.

You can also test at a higher (web application) level with PHPUnit, but you have to go beyond PHPUnit to integrate in things like Selenium. I've written < href="/search/node/phpunit">a number of posts on PHPUnit and Selenium integration. However, since those posts, it seems like Selenium has changed to "Selenium 2". Regardless, it still seems like a fair amount of work to integrate Selenium, a browser, and PHPUnit to do some modest testing.

Of course Selenium or similar solutions shine when testing AJAX applications. I don't believe SimpleTest's "text browser" can test AJAX applications. However, for testing modest web applications, it should be easier to get up and testing using SimpleTest.

But SimpleTest (1.1) has one further limitation -- it's difficult to get test results in JUnit compatible XML format. I'll address that in another post.