Testing the untestable – patterns and use cases analysis.
During my journey as a programmer, trainer and mentor I have encountered multiple situations when my colleagues or myself encountered difficult to test code. Some of these situations were nearly identical for multiple people, some of them not. In this talk I will show how you can simplify your application and open it up for testing by analysing encountered use cases with applied solutions.
Knowledge of OOP, Onion Architecture, Java (and the JUnit ) or Java like language, and experience in writing unit, integration and end to end tests is recommended before joining session.
After this talk you will know:
What is the gray area of tests.
Know strategies to test problematic classes.
Test integration with external libraries and frameworks and services
How to effectively use Fakes.
What to mock and what not to mock.
How to speed up integration tests.
How to test time dependent code.
How to test no visible effect action
How to reuse Unit Acceptance Tests as integration or API tests
How to test async code.
Useful testing heuristics.