Get in Touch

Course Outline

Review: Prerequisites

Introduction to TDD

  • TDD concepts and methodologies
  • Implementing the red-green-refactor cycle
  • Initial practical examples

TDD Best Practices

  • Applying TDD across the entire codebase
  • Testing exceptions and error handling

Architectural Implications

  • Architectural principles for creating more verifiable code
  • Unit testing the MVVM pattern

Advanced Testing: Views

  • Identifying testable aspects of views using unit tests
  • Executing individual view controllers directly from the storyboard

Advanced Testing: UI/Integration

  • Unit testing asynchronous operations
  • Mocking network responses
  • Unit testing Swift Package Manager artifacts in iOS.
  • Smoke testing techniques

Suggested Additional Content

  • Alternative testing and assertion frameworks (Quick, Nimble, …)
  • Behavior-Driven Development (BDD) and available frameworks
  • Test and commit / revert strategies
  • Integration Tests
  • Acceptance Tests
  • Advanced code coverage metrics

Summary and Conclusion

Requirements

Prerequisites

We expect participants to possess knowledge or practical experience with:

Basics of Unit Testing

  • Testing return values
  • Testing object state
  • Testing behavior

Enhancing Test Quality

  • Refactoring and reorganizing test code
  • Reusing test fixtures
  • Reusing helper methods

Introduction to Test Doubles

  • Defining 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 development practices. Attendees should have at least 6 months of iOS development experience (1 year preferred) and should be proficient in Swift, object-oriented programming, and familiar with design patterns.

 14 Hours

Number of participants


Price per participant

Testimonials (6)

Upcoming Courses

Related Categories