18.00 - 18.30: Reception
18.30 - 19.30: Talk: Unit-Testing like a Pro - The circle of Purity (language-agnostic)
19.30 - 20.00: Break for pizza
20.00 - 21.15: Live coding in Java: on a topic you choose (see at the end the options)
*** Part1: Talk: Unit-Testing like a Pro - The circle of Purity
(the talk given at VoxxedDays Bucharest 2019)
Being able to focus on the creative part without any FEAR can make software development very addictive. Strong unit tests can buy you that! However, unit test code is still code, lots and lots of it, if done right. And that code has to be maintained just like any other code.
For that, your unit tests should be significant; expressive; clean; DRY; non-overlapping; and blazing fast. They are hard to write. There are principles you need to follow. Principles that will end up shaping the way you design your production code itself. And then it will become obvious: unit testing is all about balancing cost-benefit. It’s about maximizing the regression protection you get versus the maintenance price you need to pay for those tests. It’s engineering.
Have a black coffee and join this talk distilled from Victor’s 'Professional Unit Testing' training. You will learn about
- testing priorities
- avoiding buggy tests
- testing exceptions with JUnit 5
- the shared @Before smell
- guidelines for breaking an unit test
- crafting splendid expressive failures
- minimalistic testing (when using mocks)
- avoiding @Spy
In the end, based on the difference between a Stub and a Mock we'll introduce a technique that can make your code a lot more testable and easy to understand, isolating complex, critical logic inside a ‘circle of purity’.
All of that through an entertaining, dynamic and memorable journey.
*** Part2: Live Coding in Java
The audience will choose (vote) one of:
- The Proxy Fairy - The Magic of Spring (rated 2nd EN talk at jPoint 2019): 5 ways to intercept method calls with Java and Spring
- TDD Coding Kata: Solving a (rather simple) problem using by-the-book Test-Driven Development
- Legacy Code Kata: techniques to bring legacy code under unit tests
- Java 8 - From Zero to Hero: cover the basics of Stream API, Lambdas and Method References
Since last year, Victor invested in a professional headset microphone, so this year please expect a HD experience to the last rows of the room ;)
*** About the speaker:
Victor Rentea is one of the top Technical Trainers in Romania, having trained more than 1300 developers of 30+ companies over the 6 years of his training activity. He is currently Lead Architect at IBM, but he writes code every day: he’s maniac about Clean Code, so expect seeing some a lot of refactoring. Victor organized the largest 3 Bucharest Java User Group meetups in history and in 2018 he founded the Bucharest Software Craftsmanship Community in which he runs regular free webinars about clean code, refactoring and TDD. Victor is now regularly invited to speak at major international conferences (30+ talks until now). You can find out more about him on victorrentea.ro