Test-Driven iOS Development with Swift 4 - Third Edition
图书信息
| 作者 | Dr. Dominik Hauser |
| 出版社 | Packt Publishing |
| ISBN | 9781788393553 |
| 出版时间 | 2017-10-30 |
| 字数 | 25.3万 |
| 分类 | 进口书,外文原版书,电脑,网络 |
读书简介
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.
目录
Title Page
Third Edition
Copyright
Test-Driven iOS Development with Swift 4
Third Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Why subscribe?
Customer Feedback
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
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
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
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
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
Testing Network Code
Implementing tests using a web service
Implementing a login request
Handling errors
Summary
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
Code Coverage
Enabling code coverage
Code coverage in Xcode
How much code coverage is enough?
Automatic deployment with fastlane
Installing fastlane
Setting up
Summary
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
Summary
- 合同解除制度研究(李晓钰)
- Daughters of the Puritans: A Group of Brief Biographies(Seth Curtis Beach)
- 四季筵(清辰)
- 一年级爱科学:异想天开的玉米粒(代晓琴)
- Once Upon a Christmas (Mills & Boon Love Inspired)(Pamela Tracy)
- Orlando Furioso: Bilingual Edition (English – Italian)(Ludovico Ariosto)
- 文治帝国:大宋300年的世运与人物【畅销书《一看就停不下来的中国史》作者重磅新书!】(艾公子)
- Gone With the Windsors(Laurie Graham)
