Modularizing Legacy Projects Using TDD
eBook - ePub

Modularizing Legacy Projects Using TDD

Test-Driven Development with XCTest for iOS

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Modularizing Legacy Projects Using TDD

Test-Driven Development with XCTest for iOS

About this book

Improve current or new projects with top notch testability and maintainability. Writing tests improves the design of your apps, as it pushes you to have a more modularized design. This in turn improves the maintainability and sustainability of your apps. This book is for iOS developers who already know the basics of iOS and Swift development but want to learn all the testing pro features in iOS.
You'll start by reviewing the TDD Cycle and how to implement these concepts on a legacy project or a new one. You'll then walk through TDD step-by-step on a blank project, including setting up test targets, assertions, and expectations. You'll follow that with all levels of testing such as unit tests, integration tests, and end-to-end tests, and also tackle fairly complex, yet badly written legacy code.
The book will take you through the journey of modularizing a legacy app using TDD. Throughout this journey, you will be introduced to multiple testingconcepts and techniques, like writing tests for network and core data layers. You will write tests to ensure the thread safety of your app. And you'll add a new feature while you are in the middle of refactoring, which is an important skill so you can keep adding features while you are fixing your technical debt. By the end of this book, you will have all the tools needed to become a testing master.
What You'll Learn

  • Use mocking and dependency injection to make components more testable
  • Write tests for asynchronous code like network code
  • Add new features to existing legacy apps using TDD


Who This Book Is For
Experienced iOS developers who care about software quality and meeting customer expectations.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Modularizing Legacy Projects Using TDD by Khaled El-Morabea,Hassaan El-Garem in PDF and/or ePUB format, as well as other popular books in Computer Science & Operating Systems. We have over one million books available in our catalogue for you to explore.

Information

Table of contents

  1. Cover
  2. Front Matter
  3. 1. TDD Basics
  4. 2. Unit Tests
  5. 3. UI Tests
  6. 4. Testing Pyramid
  7. 5. TDD Deep Dive
  8. 6. Modularization for the Win
  9. 7. Dependency Injection and Mocks
  10. 8. Avoiding Multithreading Nightmares
  11. 9. Testing Your Network
  12. 10. Taming Core Data
  13. 11. Adding Features to a Legacy App
  14. 12. Handling Production Issues
  15. Back Matter