Test-driven iOS development / Graham Lee
- Author:
- Lee, Graham, 1981-
- Published:
- Upper Saddle River, NJ : Addison-Wesley, [2012]
- Copyright Date:
- ©2012
- Physical Description:
- xi, 228 pages : illustrations ; 23 cm
- Contents:
- Machine generated contents note: 1.About Software Testing and Unit Testing -- What Is Software Testing For? -- Who Should Test Software? -- When Should Software Be Tested? -- Examples of Testing Practices -- Where Does Unit Testing Fit In? -- What Does This Mean for iOS Developers? -- 2.Techniques for Test-Driven Development -- Test First -- Red, Green, Refactor -- Designing a Test-Driven App -- More on Refactoring -- Ya Ain't Gonna Need It -- Testing Before, During, and After Coding -- 3.How to Write a Unit Test -- The Requirement -- Running Code with Known Input -- Seeing Expected Results -- Verifying the Results -- Making the Tests More Readable -- Organizing Multiple Tests -- Refactoring -- Summary -- 4.Tools for Testing -- OCUnit with Xcode -- Alternatives to OCUnit -- Google Toolkit for Mac -- GHUnit -- Catch -- OCMock -- Continuous Integration -- Hudson -- CruiseControl -- Summary -- 5.Test-Driven Development of an iOS App -- Product Goal -- Use Cases -- Plan of Attack -- Getting Started -- 6.The Data Model -- Topics -- Questions -- People -- Connecting Questions to Other Classes -- Answers -- 7.Application Logic -- Plan of Attack -- Creating a Question -- Building Questions from JSON -- 8.Networking Code -- NSURLConnection Class Design -- StackOverflowCommunicator Implementation -- Conclusion -- 9.View Controllers -- Class Organization -- The View Controller Class -- TopicTableDataSource and TopicTableDelegate -- Telling the View Controller to Create a New View Controller -- The Question List Data Source -- Where Next -- 10.Putting It All Together -- Completing the Application's Workflow -- Displaying User Avatars -- Finishing Off and Tidying Up -- Ship It! -- 11.Designing for Test-Driven Development -- Design to Interfaces, Not Implementations -- Tell, Don't Ask -- Small, Focused Classes and Methods -- Encapsulation -- Use Is Better Than Reuse -- Testing Concurrent Code -- Don't Be Cleverer Than Necessary -- Prefer a Wide, Shallow Inheritance Hierarchy -- Conclusion -- 12.Applying Test-Driven Development to an Existing Project -- The Most Important Test You'll Write Is the First -- Refactoring to Support Testing -- Testing to Support Refactoring -- Do I Really Need to Write All These Tests? -- 13.Beyond Today's Test-Driven Development -- Expressing Ranges of Input and Output -- Behavior-Driven Development -- Automatic Test Case Generation -- Automatically Creating Code to Pass Tests -- Conclusion.
- Subject(s):
- ISBN:
- 9780321774187 (pbk. : alk. paper)
0321774183 (pbk. : alk. paper)
View MARC record | catkey: 8394302