Your SlideShare is downloading. ×
0
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
PHPUnit Automated Unit Testing Framework
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHPUnit Automated Unit Testing Framework

6,635

Published on

An introduction to PHPUnit, written for the PHP Meetup group I run.

An introduction to PHPUnit, written for the PHP Meetup group I run.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,635
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
201
Comments
0
Likes
4
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org PHPUnit Automated Unit Testing Framework June 5, 2008
  • 2. Dave Ross “ I grew up around computers, fell in love with the Internet way back in 1994, and built a successful career around my interests in computers and business. My career focus has been on e-commerce, and in my personal time I study issues related to digital identity, trust, and reputation tracking. I’m also an small business owner, an avid Scrabble player, and a b-movie junkie.” 9 years professional development experience PHP developer, certified Java developer LinkedIn profile: http://www.linkedin.com/pub/2/832/9b0 Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 3. The West Suburban Chicago PHP Meetup
    • Meets first Thursday of every month
    • Usually at the Panera in Wheaton
    • Official Meetup page:
    • http://php.meetup.com/381
    • Blog:
    • http://suburbanchicagophp.org
    Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 4.
    • PHPUnit is a member of the xUnit family of testing frameworks (SUnit, jUnit, pyUnit...)
    • Written for PHP 5.x, older versions supported PHP 4.x
    Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 5.
      • Unit testing:
      • Testing the smallest testable parts
      • of an application
      • (Functions, Classes, Macros)
    Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 6.
      • The xUnit frameworks provide a
      • way to automate unit tests
      • If you automate your tests,
      • the quality of your tests
      • is consistent
    Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 7. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Make it easy to test, and you'll do it more often. If you use version control, test before every check-in
  • 8. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org You can wrap a set of tests into a test suite A suite tests larger units of your application, even the application itself
  • 9. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org PHP itself is tested using automated tests They use a framework called phpt
  • 10. The PHPUnit Pocket Guide Tells you everything you need to know when writing PHPUnit test cases Buy the book, or read the HTML version at: http://www.phpunit.de/pocket_guide/index.en.php Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 11. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Let's look at a test case!
  • 12. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org <?php require_once 'PHPUnit/Framework.php'; class ArrayTest extends PHPUnit_Framework_TestCase { protected $fixture; protected function setUp() { // Create the Array fixture. $this->fixture = array(); } public function testNewArrayIsEmpty() { // Assert that the size of the Array fixture is 0. $this->assertEquals(0, sizeof($this->fixture)); } public function testArrayContainsAnElement() { // Add an element to the Array fixture. $this->fixture[] = 'Element'; // Assert that the size of the Array fixture is 1. $this->assertEquals(1, sizeof($this->fixture)); } } ?>
  • 13. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Tests should be run against a known, fixed state called a fixture setUp() creates this state tearDown() destroys the state and puts things back the way they were
  • 14. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Test cases are implemented as functions whose names start with the word “ test ” This example has: testNewArrayIsEmpty() testArrayContainsAnElement()
  • 15. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Run a PHPUnit test case with the phpunit command phpunit UnitTest UnitTest.php tells PHPUnit to look for a class UnitTest in the UnitTest.php file (filename is optional)
  • 16. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org phpunit ArrayTest PHPUnit 3.3.0 by Sebastian Bergmann. .. Time: 0 seconds OK (2 tests)
  • 17. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Can output test logs to a variety of formats : GraphViz JSON TAP XML
  • 18. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Test suite + Exported results allows for Continuous Integration
  • 19. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org Continuous integration is a way to automatically run your test suite regularly Once a day... Once an hour... Every time someone checks in code...
  • 20. Official PHPUnit page: http://www.phpunit.de/ PHPUnit Pocket Guide: http://www.phpunit.de/pocket_guide Effective Unit Testing: http://www.acm.org/ubiquity/views/t_burns_1.html For More Information Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org
  • 21. Dave Ross | West Suburban Chicago PHP Meetup | suburbanchicagophp.org

×