My Account Log in

1 option

Test-driven iOS development with Swift 4 : write Swift code that is maintainable, flexible, and easily extensible / Dr. Dominik Hauser.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Hauser, Dominik, Dr., author.
Language:
English
Subjects (All):
iOS (Electronic resource).
Swift (Computer program language).
Physical Description:
1 online resource (1 volume) : illustrations
Edition:
Third edition.
Place of Publication:
Birmingham, England ; Mumbai, [Maharashtra] : Packt, 2017.
System Details:
text file
Biography/History:
Hauser Dr. Dominik: Dr. Dominik Hauser is an iOS developer working for a small company in western Germany. In over 11 years as an iOS developer, he has worked on many different apps, both large and small. In his spare time, Dominik builds small (often silly) apps and explores how he can become a better iOS developer. He talks at conferences, writes books, and is active in the iOS community in general. His most successful open source component (in terms of stars) is a pull-to-refresh control for a table view that consists of an actual SpriteKit game. Before Dominik became an iOS developer, he was a physicist, researching the most powerful photon sources within our galaxy.
Summary:
Use test-driven approach to develop highly-functional iOS apps with Swift 4 and Xcode 9 About This Book A practical guide to writing effective, organized, and clean code that works well Learn test-driven principles to help you build better-designed apps with fewer bugs A comprehensive overview of the techniques available for TDD in Swift Who This Book Is For To get the most out of this book, you will need some prior experience with Swift application development. You may have already heard about Test-Driven Development (TDD) but you don't need any prior experience of applying it to Swift applications. What You Will Learn Implement TDD in Swift application development Find bugs before you enter code using the TDD approach Use TDD to build models, view controllers, and views Test network code with asynchronous tests and stubs Write code that is a joy to read and maintain Develop functional tests to ensure the app works as planned In Detail Test-driven development (TDD) is a proven way to find software bugs early. Writing tests before you code improves the structure and maintainability of your apps. Using TDD, in combination with Swift 4's improved syntax, means there is no longer any excuse for writing bad code. This book will help you understand the process of TDD and how to apply it to your apps written in Swift. Through practical, real-world examples, you’ll learn how to implement TDD in context. You will begin with an overview of the TDD workflow and then delve into unit-testing concepts and code cycles. You will also plan and structure your test-driven iOS app, and write tests to drive the development of view controllers and helper classes. Next, you’ll learn how to write tests for network code and explore how the test-driven approach—in combination with stubs—helps you write network code even before the backend component is finished. Finally, the book will guide you through the next steps to becoming a testing expert by discussing integration tests, Behavior Driven Development (BDD), open source testing frameworks, and UI Tests (introduced in Xcode 9). Style and approach Using a step-by-step approach, you will develop an entire iOS app using TDD. During the course of the book, you will explore different strategies for writing tests for models, View Controllers, and networking code. Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktP...
Contents:
Cover
Title Page
Copyright
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Table of Contents
Preface
Chapter 1: Your First Unit Tests
Building your first automatic unit test
What are unit tests?
Implementing a unit test example
Important built-in assert functions
Understanding TDD
The TDD workflow - red, green, and refactor
Red
Green
Refactor
TDD in Xcode
An example of TDD
Red - example 1
Green - example 1
Refactor - example 1
Red - example 2
Green - example 2
Refactor - example 2
A recap
Finding information about tests in Xcode
Test Navigator
Tests overview
Running tests
Running one specific test
Running all tests in a test case
Running a group of tests
The setUp() and tearDown() methods
Debugging tests
Breakpoint that breaks on test failure
The test again feature
The advantages of TDD
The disadvantages of TDD
What to test
Summary
Chapter 2: Planning and Structuring Your Test-Driven iOS App
The task list view
The task detail view
The task input view
The structure of the app
The table view controller, the delegate, and the data source
Table view cells
The model
Other view controllers
The development strategy
Getting started with Xcode
Setting up useful Xcode behaviors for testing
Useful build behaviors
Testing behaviors
Chapter 3: A Test-Driven Data Model
Implementing the ToDoItem struct
Adding a title property
Adding an itemDescription property
Removing a hidden source of bugs
Adding a timestamp property
Adding a location property
Implementing the Location struct
Adding a coordinate property
Implementing the ItemManager class
Count
Adding and checking items
Equatable
Removing all items.
Ensuring uniqueness
Chapter 4: A Test-Driven View Controller
Implementing ItemListViewController
Implementing ItemListDataProvider
Conducting the first tests
Fake objects
Using mocks
Checking and unchecking items
Implementing ItemCell
Implementing DetailViewController
Implementing InputViewController
Chapter 5: Testing Network Code
Implementing tests using a web service
Implementing a login request
Handling errors
Chapter 6: Putting It All Together
Connecting parts
The initial view controller
Showing the input view
Showing the detail view
Serialization and deserialization
Functional tests
Adding a UI test target
Recording and testing
Chapter 7: Code Coverage
Enabling code coverage
Code coverage in Xcode
How much code coverage is enough?
Automatic deployment with fastlane
Installing fastlane
Setting up
Chapter 8: Where to Go from Here
What you have learned so far
Integration tests
UI tests
Behavior-Driven Development
TDD in existing projects
Generating mocks with Sourcery
More information about TDD
Index.
Notes:
Includes index.
Description based on online resource; title from PDF title page (EBC, viewed December 6, 2017).
ISBN:
9781788393553
1788393554
OCLC:
1014025208

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account