Building an efficient and maintainable test suite for an app is challenging. Design patterns like MVP or MVVM help decouple responsibilities so that it becomes easier to write testable code. What is the next level though? How can we get more out of our tests? How can we achieve the same results while writing less code for testing? How can we make tests resilient to minor changes? What if we take all this into account from the very beginning instead of making testing an afterthought? What if our architecture is built for testing by design?
In this talk we are going to discuss how a testing-first architecture such as MVI helps us to write and maintain efficient tests.