Behaviour Driven Development
In Ruby gebruik ik nu zoveel mogelijk het rspec framework i.p.v. rubyunit. Ik merk dat ik het heel veel lijkt op de manier hoe je in Smalltalk ontwikkelt, met name in de workspace. Het is een gebruikelijke practice om in de workspace het gedrag van een object te beschrijven voordat je het implementeert. Je gaat eerst kijken hoe je het object wilt gebruiken.
In smalltalk draait het allemaal om gedrag. Het eerste wat je leert is dat je een object een boodschap kan sturen, waarna het een bepaald gedrag kan vertonen. In andere talen leer je vaak eerst een class te maken, voordat je een object kunt gebruiken. De focus komt dan heel sterk op structuur te liggen en niet op gedrag. De xUnit frameworks worden dan vaak gebruikt om structuur te testen en minder zoals Kent Beck het ooit bedacht heeft:
Telling a story. A test should cover one aspect of a piece of code. A test should act as a scenario that you would like to read to understand a functionality.
Met behaviour driven development bouwen we nu wel verder op het originele gedachten goed.
