[wp-hackers] Unit Testing, Yet Another Discussion
jacobsantos at branson.com
jacobsantos at branson.com
Thu Aug 2 14:41:12 GMT 2007
I really don't think that should deter unit testing. If enough people
get started then it will be easier for others to add, modify and improve
upon existing tests. At this point, a developer doesn't see anything in
the repository, and most of the research online brings up only
discussions about probably, maybe, sort of not ever doing it for WordPress.
I don't know when I'll be giving up. I'm finishing plugins.php, which is
easier, and I might jump over to cache.php and post.php (which I think
is more difficult), since I've had some tests for that already. If you
start out with the most difficult, then yeah, it will be depressing and
the more depressing something is, the easier it is to give up.
Preventing regressions in return values, is my main concern and
something that should be prevented by unit testing, both the easy and
more difficult functions (which are more likely to be updated).
It would be a good idea to test the hooks actions and filters. Creating
a contained and live work flow is worth investigating.
My goal is to get >95% code coverage on the easy files first and try to
get about 20% through 30% on the more difficult files for the unit tests
I'm also going to try to do some functional testing (acceptance
testing). I need a project to get started on learning how to do
acceptance testing, and I think WordPress is a good choice, because I
use it everyday.
I'll be back with any results and post all unit tests that I complete.
At least in the future there will be something.
Sam Angove wrote:
> On 8/2/07, jacobsantos at branson.com <jacobsantos at branson.com> wrote:
>> #3 Has anyone else (besides the guy building the functional testing with
>> SimpleTest, which is massively incomplete) started or finished their own
>> unit testing suite of WordPress?
> I started writing some tests with PHPUnit about a month ago, got
> halfway through wp-includes/formatting.php and gave up.
> There were a few reasons, the main one being that too much of the code
> is very tightly-coupled: unit testing it is impossible without an
> absurdly complicated harness. There didn't seem much point to only
> testing the easily-tested functions -- most of them are stable anyway.
> At this point I think there's more value in starting with higher-level
> interface testing:
> 1. Tests of WP APIs: "if I call `wp_insert_post` with a title of
> 'foo', `the_title` returns 'foo'".
> 2. Tests of the WP interface with, say,
> <http://www.openqa.org/selenium/>. Wasn't one of the summer of code
> people was doing something like this?
> It's less useful than it would be with complementary unit tests, but
> still, better than nothing. The coverage could be deepened with unit
> tests later on.
> Anyway, good luck. I took up learning Haskell instead; it's much more
> rewarding. ;)
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
More information about the wp-hackers