Linked e-resources

Details

Intro
Table of Contents
About the Authors
About the Technical Reviewer
Acknowledgments
Chapter 1: TDD Basics
Types of Testing
Trouble with Automated Testing
TDD in a Nutshell
Why Use TDD?
External and Internal Quality
When to Use TDD?
When Not to Use TDD?
Refactoring
Modularization
Test Structure
Let's TDD
Maximum Out of TDD
Exercise
Summary
Chapter 2: Unit Tests
Your First Test
What Do We Want to Test?
Creating a Unit Test Target
Adding a Test Case Class
Assert Methods
Assert Method Types
Truthfulness Asserts

Equality Asserts
Nullability Asserts
Comparison Asserts
Errors Asserts
Expectations
Expectation Types
Test Ordering
Randomized Ordering
Code Coverage
Exercise
Summary
Chapter 3: UI Tests
Your First Test
XCUITest Components
Our Chapter Goal
First Test Case
Launching the App
Querying the UI
Relationships
Interacting with the UI
UI Events
Assertions
Value Assertion
Accessibility
Accessibility Tips
Putting It All Together
Improve UI Tests
Exercise
Summary
Chapter 4: Testing Pyramid
Our App
UI Tests

Integration Tests
Unit Tests
Summary
Chapter 5: TDD Deep Dive
CoffeePot
Eye on the Big Picture
Requirements
Testing Pyramid
First Story
Architecture
MVP
First Integration Test
Unit Tests
CoffeeDrinksDataSource
CoffeeDrinksModelTests
CoffeeDrinksPresenterTests
Test Health Check
Second Story
Architecture
Exercise
Summary
Chapter 6: Modularization for the Win
Why Bother with Modularization?
What Is a Module?
Modularizing Your App
Introducing Books
Modularization Process
Initial Module Map

Choose a Class as a Starting Point
Identify the Class's Responsibilities
Refactor Responsibilities
Verification Tests
Refactoring
Integration Test
NetworkLayer
MainViewModel
MainViewPresenter
Last Touches
Test Value
Rerun Verification Tests
Refactor the Rest of the Responsibilities
Next Starting Point
Exercise
Summary
Chapter 7: Dependency Injection and Mocks
Stubbing
Mocking
Test Doubles Creation
Creation Using Inheritance
Creation Using Protocols
Dependency Injection
Initializer Injection
Property Injection

Stubbing the Network in UI Tests
Summary
Chapter 8: Avoiding Multithreading Nightmares
What Is Concurrency?
GCD
Queues
Serial vs. Concurrent
Sync vs. Async
Cost of Concurrency
Reader-Writer Problem
Singleton Classes
Identifying a Race Condition
Applying TDD to the Problem
Thread Sanitizer
Make It Pass
Fixing Threading Issues in Books
Applying TDD
Summary
Chapter 9: Testing Your Network
Networking ABCs
HTTP Requests
HTTP Responses
URL
Networking in iOS
URLSession
URLSessionConfiguration
URLRequest
URLSessionTask

Browse Subjects

Show more subjects...

Statistics

from
to
Export