[wp-hackers] Unit Testing, Yet Another Discussion
jacobsantos at branson.com
jacobsantos at branson.com
Wed Aug 1 18:28:46 GMT 2007
Everything I've found has stated that Unit Testing isn't something that
WordPress does, or *thinks* is impossible for WordPress. I hope I'm not
beating a dead horse, but I really do think this should be actively
pursued to improve the quality of WordPress.
Regressions be be avoided with unit testing. Theories and bug fixing can
be improved. Unit Testing is not just for classes and methods. My unit
test for the Plugin.php file proves this. You don't have to test what is
in the function, just the result. If the result is not what you
expected, then something in the function changed or is wrong.
One of the best advantages of using unit tests is writing tests for
bugs. I don't think anyone can write an unit test that covers
everything, including the interactions. To illustrate this point, the
coding that I'm doing with WordPress has mostly been developed using
Unit Tests, with functions and with classes.
I think the next Summer Of Code should involve Unit Testing WordPress
wp-includes and/or functional testing of WordPress pages. The quality of
WordPress releases should improve greatly.
#1: The question I should ask is what is needed to get the ball started?
I'm willing to write unit tests for wp-includes, that I work with, when
I get to them. However, since I'm not a core developer, I have no
motivation to start such a project. Which might be a lie. Damn, I guess
I could use this to learn better Unit Testing and perhaps try Functional
#2 If someone did write a complete unit testing suite of wp-includes
code (about 70%-80% code coverage), would that be used actively by
testers and developers? There is no point putting work into something
that would only be used by one or two people.
#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?
It wouldn't be difficult to finish the unit test that I have for
wp-includes/plugin.php, I think also it would be a good idea to check
the previous commits and see what regressions were made by the recent
2.2.1 changes. Well, I only have about 30% code coverage of the plugin.php.
Oh, the discussion about Test Driven Development is not needed. If you
write unit tests enough, you'll naturally fall into TDD, but for others,
it could just be that a few people write unit tests after the code was
committed or for new bugs. So even if you don't use unit tests for
development, it doesn't mean that it wouldn't be useful currently and in
More information about the wp-hackers