ENGLISH

Test-Driven iOS Development with Swift: Write maintainable, flexible, and extensible code using the power of TDD with Swift 5.5

Book information

Publisher
Packt Publishing
Year
2022
ISBN
180323248X, 9781803232485
Language
english
Format
PDF
Filesize
5 MB (4960030 bytes)
Edition
4
Pages
280\280
Time added
2023-01-23 15:03:52

Description

Build robust applications using TDD with Swift 5.5 and become a TDD expert by writing tests for view controller, views, network code, and even SwiftUI view Key FeaturesBuild a complete iOS app using test-driven developmentExplore testing view controllers, table views, navigation, and network codeLearn how to write tests for Combine and SwiftUI codeBook Description Test-driven development (TDD) is a proven way to find software bugs earlier on in software development. Writing tests before you code improves the structure and maintainability of your apps, and so using TDD in combination with Swift 5.5's improved syntax leaves you with no excuse for writing bad code. Developers working with iOS will be able to put their knowledge to work with this practical guide to TDD in iOS. This book will help you grasp the fundamentals and show you how to run TDD with Xcode. You'll learn how to test network code, navigate between different parts of the app, run asynchronous tests, and much more. Using practical, real-world examples, you'll begin with an overview of the TDD workflow and get to grips with unit testing concepts and code cycles. You'll then develop an entire iOS app using TDD while exploring different strategies for writing tests for models, view controllers, and networking code. Additionally, you'll explore how to test the user interface and business logic of iOS apps and even write tests for the network layer of the sample app. By the end of this TDD book, you'll be able to implement TDD methodologies comfortably in your day-to-day development for building scalable and robust applications. What you will learnImplement TDD in Swift application developmentDetect bugs before you run code using the TDD approachUse TDD to build models, view controllers, and viewsTest network code with asynchronous tests and stubsWrite code that's a joy to read and maintainDesign functional tests to suit your software requirementsDiscover scenarios where TDD should be applied and avoidedWho this book is for This book is for iOS developers looking to apply TDD to build maintainable and scalable applications. Intermediate-level developers with Swift application development experience will be able to make the most out of this book. Prior experience of applying TDD to Swift applications is not required. Table of ContentsYour First Unit TestsUnderstanding Test-Driven DevelopmentTest-Driven Development in XcodeThe App We Are Going to BuildBuilding a Structure for ToDo ItemsTesting, Loading, and Saving DataBuilding a Table View Controller for the To-Do ItemsBuilding a Simple Detail ViewTest-Driven Input View in SwiftUITesting Networking CodeEasy Navigation with Coordinators Cover Title Page Copyright and Credits Contributors Table of Contents Preface Section 1 –The Basics of Test-Driven iOS Development Chapter 1: Your First Unit Tests Technical requirements Building your first automatic unit test What are unit tests? Implementing a unit test example Disabling slow UI tests Assert functions in the XCTest framework Custom assert functions Understanding the difference from other kinds of tests Integration tests UI tests Snapshot tests Manual tests Summary Exercises Chapter 2: Understanding Test-Driven Development The origin of TDD The TDD workflow – red, green, refactor Red Green Refactor The advantages of TDD The disadvantages of TDD What to test Summary Chapter 3: Test-Driven Development in Xcode Technical requirements An example of TDD Capitalize headline – red Capitalize headline – green Capitalize headline – refactor Capitalize headline 2 – red Capitalize headline 2 – green Capitalize headline 2 – refactor A recap Finding information about tests in Xcode Test navigator Test overview Running tests Running one specific test Running all tests in a test case Running a group of tests Setting up and tearing down Debugging tests A breakpoint that breaks on test failure The test again feature Summary Exercises Section 2 –The Data Model Chapter 4: The App We Are Going to Build Technical requirements A list of to-do items A view for the details of a to-do item A view to add to-do items The structure of the app The table view controller, the delegate, and the data source Table view cells The model Other views The development strategy Getting started in Xcode Setting up useful Xcode behaviors for testing Useful build behaviors Testing behaviors Summary Exercises Chapter 5: Building a Structure for ToDo Items Technical requirements Implementing the ToDoItem struct Adding a title property Adding an itemDescription property Removing a hidden source of bugs Adding a timestamp property Dealing with optional values in unit tests Adding a location property Implementing the Location struct Adding a coordinate property Summary Exercises Chapter 6: Testing, Loading, and Saving Data Technical requirements Publishing changes with Combine Testing asynchronous Combine code Making ToDoItem equatable Checking items Storing and loading ToDoItems Implementing storing and loading Cleaning up the code Summary Exercises Section 3 –Views and View Controllers Chapter 7: Building a Table View Controller for the To-Do Items Technical requirements Adding the table view for the to-do items Testing the data source of a table view Adding a test double Using test doubles to implement a number of rows Using test doubles to implement setting up the to-do item cell Refactoring to a diffable data source Presenting two sections Implementing the delegate of a table view Summary Exercises Chapter 8: Building a Simple Detail View Technical requirements Adding labels, a button, and a map Filling in the data Checking the to-do item Summary Exercises Chapter 9: Test-Driven Input View in SwiftUI Technical requirement Adding the ViewInspector package Using ViewInspector to test a simple view Adding a title text field Adding a DatePicker Improving the test code and the implementation Adding another text field Improving the user interface Adding an address text field and a button Testing button actions with ViewInspector Summary Exercises Section 4 –Networking and Navigation Chapter 10: Testing Networking Code Mocking CLGeoCoder Cleaning your project Preparations for the tests Creating the first test Testing async/await code that communicates with URLSession Handling errors Summary Exercises Chapter 11: Easy Navigation with Coordinators Technical requirement Testing the app's setup Navigating to the details Navigating to a modal view Adding missing parts Making the cells visible Dismissing the input view Making the due date visible in the details Fixing the wrong item being selected Fixing the layout of the table view Summary Exercises Index Other Books You May Enjoy

Similar books

Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36

Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36

2010 · PDF

THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.

THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.

1858 · PDF

Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.

Idries Shah 27 Books Collection : A Perfumed Scorpion, A Veiled Gazelle, Caravan of Dreams, Darkest England, Destination Mecca, Evenings with Idries Shah, Knowing How to Know, Learning How to Learn, Letters and Lectures of Idries Shah, Neglected aspects of Sufi study, Observations, Oriental Magic, Reflections, Seeker after Truth, Special Illumination, Special Problems in the study of Sufi ideas, Sufi thought and action, Tales of the Dervishes, The Dermis Probe, The Elephant in the Dark, The Englishman Handbook, Idries Shah Antology, The Magic Monastery, The natives are restless, wisdom of the Idiots PDF.

2022 · PDF

The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians

The travels of Capts. Lewis and Clarke from St. Louis, by way of the Missouri and Columbia rivers, to the Pacific ocean; performed in the years 1804, 1805 & 1806, by order of the government of the United States. Containing delineations of the manners, customs, religion, &c. of the Indians, comp. from various authentic sources, and original documents, and a summary of the Statistical view of the Indian nations, from the official communication of Meriwether Lewis. Illustrated with a map of the country, inhabited by the western tribes of Indians

1809 · PDF