-
Prerequisites
We assume that the participants do have knowledge of or working experience with:
Introduction to Unit Tests
- Test return
- Test state
- Test behavior
-
Improving Tests
- Reorganization of the test code
- Reuse of fixtures
- Reuse of convenience methods
-
Introduction to Test Doubles
- Explanation of dummies, stubs, spies, mocks, and fakes
- Implementation of doubles tests
-
Advanced Test Doubles
- Enhancing mocks (Swift)
Audience
This course is intended for iOS mobile app developers who would like to improve the way they build their products. Attendees should have at the very least 6 months of experience developing iOS applications (1 year preferred) and should be familiar with Swift development, know object-oriented programming and what a design pattern is.
Learning Objectives
- What are Unit Tests and how to write them
- How to simplify the tests and have Clean tests too
- When and how to use Test Doubles
- What is TDD and how to practice it
- How to unit test everything in your app, including the views
- Make the quality of your code something better than a matter of faith!
Format:
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Day 1
Review: Prerequisites
Intro to TDD
- TDD concepts and schools
- Implementation of the red, green, refactoring sequence
- First examples
TDD FTW!
- TDD everywhere
- Testing exceptions/errors
The Implications of the Architecture
- Architecture concepts to get a more verifiable code
- Unit testing MVVM
Day 2
Advanced Tests: Testing the Views
- Identification of the verifiable aspects of the views with unit tests
- Running individual view controllers from the storyboard
Advanced Tests: UI/Integration Testing
- Unit tests of asynchronous tasks
- Mocking the network
- iOS Unit testing Swift Package Manager artifacts. (??)
- Smoke Tests (??)
Suggested Additional Contents
- Alternative testing and/or assertion frameworks (Quick, Nimble, …)
- Behavior Driven Development (BDD) and possible frameworks
- Test && commit || revert
- Integration Tests
- Acceptance Tests
- Advanced Coverage Measure
Summary and Conclusion
Qatar - iOS Automation Testing
Ireland - iOS Automation Testing
Nederland - iOS Automation Testing
Malta - iOS Automation Testing
United Kingdom - iOS Automation Testing
Kazakhstan - iOS Automation Testing
Moldova - iOS Automation Testing
Morocco - iOS Automation Testing
Tunisia - iOS Automation Testing
Kuwait - iOS Automation Testing
Slovakia - iOS Automation Testing
Kenya - iOS Automation Testing
Nigeria - iOS Automation Testing
Botswana - iOS Automation Testing
Slovenia - iOS Automation Testing
Croatia - iOS Automation Testing
Serbia - iOS Automation Testing
Bhutan - iOS Automation Testing