Preface Chapter 1. Beginning Testing Installing Test Modules Running Tests Interpreting Test Results Writing Your First Test Loading Modules Improving Test Comparisons Chapter 2. Writing Tests Skipping Tests Skipping All Tests Marking Tests as TODO Simple Data Structure Equality Data Composition Testing Warnings Testing Exceptions Chapter 3. Managing Tests Organizing Tests Checking Your Coverage Writing a Testing Library Testing a Testing Library Writing a Testing Harness Testing Across the Network Automating Test Runs Chapter 4. Distributing Your Tests (and Code) Testing POD Files Testing Documentation Coverage Distribution Signatures Testing Entire Distributions Letting the User Decide Letting the User Decide (Continued) Bundling Tests with Modules Collecting Test Results Validating Kwalitee Chapter 5. Testing Untestable Code Overriding Built-ins Mocking Modules Mocking Objects Partially Mocking Objects Overriding Live Code Overriding Operators Everywhere Chapter 6. Testing Databases Shipping Test Databases Testing Database Data Using Temporary Databases Mocking Databases Chapter 7. Testing Web Sites Testing Your Backend Testing Your Frontend Record and Play Back Browsing Sessions Testing the Validity of HTML Running Your Own Apache Server Testing with Apache-Test Distributing Modules with Apache-Test Chapter 8. Unit Testing with Test::Class Writing Test Cases Creating Test Fixtures Inheriting Tests Skipping Tests with Test::Class Marking Tests as TODO with Test::Class Chapter 9. Testing Everything Else Writing Testable Programs Testing Programs Testing Interactive Programs Testing Shared Libraries Index
Ian Langworth has been using Perl since 1997, and actively involved in the Perl community since 2003. In 2004 he contributed Apache-TinyCP and several Kwiki modules to CPAN, and spoke at Perl-related conferences such as YAPC, Usenix, and LISA. chromatic is the technical editor of the O'Reilly Network, specializing in programming, Linux(R), and open source development. He's also been known to evangelize to his co-workers toward better development practices. chromatic has occasionally produced startling numbers of test suites -- and a few testing modules -- for projects including Perl 5, Perl 6, and Parrot. Someday, he'd like to claim some responsibility for improving the quality of all software, by writing articles, producing good code, giving interesting talks, and developing better tools. He lives west of Portland, Oregon with a creek in his backyard and a park one house over. It's too late for him to choose a more realistic-sounding pen name.