It is time for the third TDD meetup. We are also starting the Wix on the Roof series of events with this meetup.
How Scala promotes TDD, by Shai Yallin
Scala is a multi-paradigm functional/object-oriented programming language. As such, its design and feature promotes more robust designs, building on immutable value objects and collections, a shared-nothing parallelism model and generally much less lines of code. All of these, in addition to powerful support for in-language DSLs, allow us to grow our software to be testable and deterministic, and is an excellent choice for projects using the TDD methodology.
This talk will cover the following aspects:
- Short introduction to Scala and its main features
- Why case classes and immutable collections are your best friends
- How avoiding null values and throwing exceptions make your code more predictable and testable
- Traits and how they allow us to compose our software to more manageable pieces
- Using the specs2 test framework for testing your Scala code
TDD Kata, by Sagy Rozman
TDD is a software development process that enables evolutionary software design resulting in well factored code bases with low coupling.
In this talk I'll present the basic theory behind the process followed by a hands on example of how it's being used in developing a small program.