Test Driven Development in iOS Using Swift
What you'll learn
- Learn the benefits and the reasoning behind writing tests
- Implementing unit tests for the core domain model
- Writing tests for the user interface
- Understanding mocking and benefits of mocking
- Implementing domain driven design
- Intermediate knowledge of Swift language is recommended
- Knowledge of SwiftUI framework is recommended
- Xcode 13.X or above
- Familiarity with the MVVM Design Pattern
As a software developer you must always aspire to write quality code. You must also make sure that any future code you write does not break existing features. Test Driven Development provides you with a great way to implement software. It provides a safety net, which allows you to make changes with confidence. In this course, you will learn how to apply the principles of test driven development in iOS using Swift language.
Let’s check out the contents of the course:
Understanding Test Driven Development
In this section you will learn about the concepts behind Test Driven Development. You will learn why testing is important, when to write unit tests and even misconceptions behind testing in software development.
Types of Testing
In this section you will learn about types of testing. You will learn the differences between unit testing, user interface testing, integration testing, acceptance testing and performance testing.
Writing Your First Unit Test
In this section you will learn how to write your first unit test. We will implement a simple Tip Calculator and write your code using the principles of test driven development. You will learn how using test driven development allows you to architect your app.
Writing UI Tests
In this section you will learn how to write user interface tests. You will learn how to automate your user interface and perform actions on the elements on the screen. You will also learn how to use the PageObject pattern to reuse elements from the screen.
In this section you will learn the concept of mocking. You will learn how to create a mocked version of the login service, which will allow the user to continue with their tests without having a dependency on a real login service and network connection.
End to End Testing
In this section you will learn how to perform end to end integration testing. You will learn how to invoke a real network service and make sure that all components of the app are working correctly together.
Project Time - Quiz App
Finally, you are going to put all your skills to test by implementing a Quiz App in SwiftUI using the principles of test driven development. You will start by testing the core domain and then move on to write user interface tests.
Who is this course for?
Developers interested in learning about writing great software based on the principles of test driven development.
Developers interested in learning about the application domain using unit tests.
Developers who want to educate themselves on how to architect an application using test driven development.
Developers who want to take their skills to the next level
I had so much fun in creating this course and I really hope you enjoy it too.
Thanks and let’s start coding!
Who this course is for:
- Developers interested in learning about writing tests
- Developers who wants to implement unit tests for the core domain model
- Developers who wants to learn how to write user interface tests
- Developers who wants to learn how mocking works and benefits of mocking
My name is Mohammad Azam and I have been programming in iOS for the last 10+ years. Currently, I am teaching Full Stack Development at DigitalCrafts. Before joining DigitalCrafts I worked as a lead mobile developer for many large companies including Schlumberger, Baker Hughes, AIG and Valic. Currently, I am a senior developer at Blinds Dot Com, a Home Depot company. Before iPhone development I was leading projects in Microsoft ASP technology. I was also awarded the Microsoft MVP award five years in a row due to my contributions in the community.
I have also published several of my personal apps to the App Store including Vegetable Tree which was featured by Apple as the most beautiful gardening app on the App Store. I am a frequent speaker at local and national conferences and have authored many articles for many different development magazines.