
Learn why test driven development provides confidence to change code safely, enables automated user interface testing, and guides architecture by revealing missing functions and guiding decisions.
Focus on implementing the tip calculation domain logic with test driven development, creating a model that computes tips for amounts and selected percentages, while the user interface remains separate.
Develop unit tests for a tip calculator to handle negative input by throwing an invalid input exception, convert the calculate function to throw, and prepare for UI integration.
Learn to write ui tests for invalid total input in an iOS Swift app, including negative totals, accessibility identifiers, and using a page object pattern to reduce test duplication.
Learn to implement the page object pattern in iOS tests by creating a content view page that exposes the total text field, tip percentage segmented control, and calculate button.
Master mocking by replacing real network calls with a mock service. Use mocks in unit and UI tests to simulate authentication and navigation to the welcome screen.
Implement the page objects design pattern to clean up tests by encapsulating login page elements—username and password fields, login button, and message text—and enable independent tests with mocks.
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.
Mocking
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!