PHPUnit
In the last decade, PHP has developed from a niche language for adding dynamic functionality to small websites to a powerful tool making strong inroads into large-scale Web systems. Critical business logic like this needs to work correctly. But how do you ensure that it does? You test it, of course.
To make code testing viable, good tool support is needed. This is where PHPUnit comes into play. It is a member of the xUnit family of testing frameworks and provides both aframework that makes the writing of tests easy as well as the functionality to easily run the tests and analyse their results.
Features
- Complete port of JUnit 3.8.1 to PHP 5.
- Integrates ideas from TestNG, such as
- Annotation-based @grouping of test cases.
- Suite-Level setUp() and tearDown().
- Testing for failures.
- Supports Mock Objects (port of jMock).
- Supports database testing (port of DbUnit).
- Supports Code Coverage Analysis (utilizing the Xdebug extension for PHP) and can generate reports based on this information.
- Supports the calculation of software metrics.
- Can be used as a Project Mess Detector (PMD).
- Supports storing test result and code coverage data in a Test Database.
- Supports Incomplete Tests (port of junitour) and the skipping of tests.
- Supports Agile Documentation (port of TestDox).
- Supports generation of test code skeletons for existing code.
- Supports logging of test execution in an XML Format, as JavaScript Object Notation (JSON) messages, using the Test Anything Protocol (TAP), in GraphViz Markup, and to PEAR::Log sinks.
- Integrates with Selenium RC for web application user interface testing.
- Integrates with Apache Maven, Bamboo, Bitten, CruiseControl, and Parabuild for Continuous Integration.
- Integrates with Phing.
- "Self-Hosted" and Robust: PHPUnit is covered by a Test Suite that ensures it works correctly.
No comments:
Post a Comment