PHP, Zend Framework and Other Crazy Stuff
Archive for January, 2008
PHPSpec 0.2.0 Released
Jan 9th
With the beta release behind us, I’m happy to announce the immediate availability of PHPSpec 0.2.0 from the project’s pear channel at pear.phpspec.org or you can download directly from http://pear.phpspec.org/get.
The beta release received an encouraging response and several individuals have ensured this release is up to par. I would to thank Kubo Atsuhiro for submitting several patches which have resolved some final issues with Exception handling, and Unicode. Also Modmac who submitted the newly adopted HTTP Runner method of executing specs. And also Takagi Masahiro who has translated the PHPSpec Manual to Japanese.
PHPSpec is the first Behaviour-Driven Development (BDD) framework for PHP. It provides a low level framework for writing specs; executable examples of how the code you’re designing should behave. It seeks to offer an intuitive easy to learn means of learning and applying BDD: a methodology which has evolved from the practice of Test-Driven Development, Domain Driven Design and Acceptance-Testing Driven Development.
The changelog for the 0.2.0 Stable release follows:
- Added support for HTML reporting output
- Added support for executing specs from a HTTP Runner. Thanks to Modmac.
- Committed three patches courtesy of KUBO Atsuhiro fixing several issues, include one reporting bug.
- Included Japanese translation of the manual courtesy of TAKAGI Masahiro.
- Refactored Runner logic into PHPSpec_Runner class.
- Added API Docs to documentation directory.
- Cleaned up and documented Console and HTTP options in a new manual chapter.
- Added support for coloured console output when using a *nix console (not supported on Windows).
While I’m waiting for a home page to emerge, here’s some relevant links:
PEAR Channel:
pear.phpspec.org
The Manual:
http://dev.phpspec.org/manual
The Mailing List:
http://groups.google.com/group/phpspec-dev
The Google Code Home:
http://code.google.com/p/phpspec/
PHPSpec 0.2.0beta Released
Jan 7th
It’s been a longer than expected road to 0.2.0, but I’ve finally gotten around to releasing the first beta of PHPSpec 0.2.0.
PHPSpec is a Behaviour-Driven Development framework designed from the ground up to offer a BDD tool for PHP5. It’s functionality and use is heavily influenced by similar frameworks in Java, Smalltalk, .NET and Ruby. This beta release marks the start of a short review process with the aim of making a general public stable release within the next 7 days.
PHPSpec is currently hosted on the PHPSpec PEAR channel at: pear.phpspec.org. Installation is as simple as:
pear channel-discover pear.phpspec.org pear install phpspec/PHPSpec-beta
Additional installation options (for those who don’t like PEAR) and instructions are available in the PHPSpec Manual which is currently hosted at http://dev.phpspec.org/manual. I made the effort to keep the manual as informative as possible so it should be relatively easy to get started with PHPSpec, and discovered what Behaviour-Driven Development (BDD) means if you haven’t caught one of my earlier explanatory blog articles on the topic.
This beta omits several items which didn’t make the scheduled cut off point of Sunday evening which I’ll complete for the GA release. The main ones are a PCRE regular expression matcher, improved Equality matcher, and something to predicate expected Exceptions. Besides these three missing bits, the goals originally set for 0.2.0 have been met and in some cases exceeded as time allowed.
PHPSpec has been one of those projects I found a real need for in my own development work so most of the design and functional decisions have tended towards a personal preference. Just a reminded that as a 0.2.0 release the API will remain stable for the life for the 0.x point releases but remains open to improvement based on user feedback and suggestions. We’re also currently investigating adding a HTML UI and optionally running specs in their own unique PHP process. In addition, PHPSpec has led to two other small libraries in progress – namely PHPMock and PHPMutagen. It’s been an interesting open source project to say the least, and I hope it’s well received by the community.
Any questions/comments may be directed to the PHPSpec Mailing List (and Google Group) over on:
http://groups.google.com/group/phpspec-dev.
