Skip to Content
Cocoa Programming for OS X: The Big Nerd Ranch Guide
book

Cocoa Programming for OS X: The Big Nerd Ranch Guide

by Aaron Hillegass, Adam Preble, Nate Chandler
April 2015
Intermediate to advanced
556 pages
17h 47m
English
Big Nerd Ranch Guides
Content preview from Cocoa Programming for OS X: The Big Nerd Ranch Guide

Refactoring for Testing

When you write an application without testing in mind, you will often write code that is difficult to test. In Chapter 28, you implemented ScheduleFetcher’s method fetchCoursesUsingCompletionHandler(_:). In that implementation, you call NSURLSession.dataTaskWithRequest(_:completionHandler:). and pass in a complex completion handler which transforms the triple of data, response, and error into a FetchCoursesResult.

As the method is currently implemented, the logic of the completion handler is very difficult to test: testing it requires calling fetchCoursesUsingCompletionHandler(_:) which entails calling an asynchronous HTTP method. To avoid making an HTTP request, you will refactor ScheduleFetcher.

In ScheduleFetcher.swift ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Cocoa with Objective-C, 4th Edition

Learning Cocoa with Objective-C, 4th Edition

Paris Buttfield-Addison, Jonathon Manning, Tim Nugent
Objective-C for Absolute Beginners: iPhone, iPad and Mac Programming Made Easy

Objective-C for Absolute Beginners: iPhone, iPad and Mac Programming Made Easy

Stefan Kaczmarek, Brad Lees, Gary Bennett, Mitch Fisher

Publisher Resources

ISBN: 9780134077130Purchase book