Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Test-Driven iOS Development with Swift 3
Test-Driven iOS Development with Swift 3
Credits
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
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
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
Summary
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
Summary
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
Summary
5. Testing Network Code
Implementing tests using a web service
Implementing a login request
Handling errors
Summary
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
Summary
7. Code Coverage and Continuous Integration
Enabling code coverage
Code coverage in Xcode
What code coverage is enough?
Continuous integration
Installing and setting up Xcode Server
Adding bots
Automatic deployment with fastlane
Installing fastlane
Setting up
Summary
8. Where to Go from Here
What we have learned so far
Integration tests
UI tests
Behavior-Driven Development
TDD in existing projects
More information about TDD
Summary
← Prev
Back
Next →
← Prev
Back
Next →