Get in Touch

Course Outline

Review: Prerequisites

Introduction to TDD

  • Core concepts and schools of thought in TDD
  • Implementing the red-green-refactor cycle
  • Initial practical examples

TDD in Action

  • Applying TDD across all layers
  • Handling exceptions and errors

Architectural Implications

  • Architectural concepts that facilitate more verifiable code
  • Unit testing MVVM architecture

Advanced Testing: View Testing

  • Identifiable verifiable aspects of views via unit tests
  • Executing individual view controllers from Storyboards

Advanced Testing: UI and Integration Testing

  • Unit testing asynchronous tasks
  • Mocking network requests
  • Unit testing Swift Package Manager artifacts
  • Conducting Smoke Tests

Suggested Additional Topics

  • Alternative testing and assertion frameworks (e.g., Quick, Nimble)
  • Behavior Driven Development (BDD) and related frameworks
  • Test && commit || revert workflows
  • Integration Tests
  • Acceptance Tests
  • Advanced code coverage metrics

Summary and Conclusion

Requirements

Prerequisites

Participants are expected to have prior knowledge or working experience in the following areas:

Unit Test Fundamentals

  • Testing return values
  • Testing object state
  • Testing behavior

Optimizing Tests

  • Refactoring and organizing test code
  • Reusing test fixtures
  • Reusing helper and convenience methods

Introduction to Test Doubles

  • Understanding dummies, stubs, spies, mocks, and fakes
  • Implementing tests using doubles

Advanced Test Doubles

  • Enhancing mock capabilities (Swift)

Target Audience

This course is designed for iOS mobile application developers seeking to enhance their product development practices. Attendees should have a minimum of 6 months of iOS development experience (1 year is preferred) and should be proficient in Swift, object-oriented programming concepts, and design patterns.

 14 Hours

Testimonials (6)

Related Categories