S01E06: [TDD 🍅 5] Testing View Controllers in Swift

In this episode, we dive in the UI side by following the same principles and disciplines we did before. We create and test-drive the QuestionViewController, a class responsible for displaying a question and its options for answers.

We start by creating a new project with an iOS deployment target to separate the development of the Quiz Engine (a core module agnostic of deployment targets) and the UI (a module specific to a deployment target).

We lay out the views in Interface Builder and we focus on testing and implementing the expected behavior for the game, proving that the layout of a view and the behavior of a view controller are independent things and that it’s easy to separate them.

The modular setup of the projects enable a team to seamlessly work in parallel.

As software professionals, it is imperative to frequently deliver working software to build trust and increase the satisfaction of our clients. We should strive to enable our teams to seamlessly develop features independently, aiming to speed up the release cycle.

Frequent releases, even in early stages of the project, can also help the team get faster feedback so we can learn more about the domain and improve the design in every iteration.

Subscribe today to our Youtube channel and catch free new episodes every week and follow along the project's progress on GitHub.