Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards.
TDD tends to lead to low-coupled, highly-cohesive designs, with no more functionality than necessary to satisfy requirements. It is one of the practices of Extreme Programming. It is often said that TDD is not about testing, but rather about design.
def test_hello_world assert.are_equal "hello world", hello_world end