Approval Tests by Llewellyn Falco
Approval Tests is a testing framework conceived by Llewellyn Falco based on the idea of a Golden Master. It has a fluent API that allows for the definition of scenarios and verification of outputs. Typically, it will serialize the output of an execution that the human will mark as accepted. If anything in the code changes the output, the test will fail.
Llewellyn Falco: http://approvaltests.com/.
A less-known usage for Approval Tests is the locking of code for refactoring. By locking of code, we mean the activity of adding tests around a piece of code to make refactoring possible. Using a code coverage tool in conjunction with this technique provides feedback on how much code has actually been exercised by our new tests. When we reach a satisfactory level of coverage, we can then move to the refactoring phase. Once our code is in better shape and the components are extracted and isolated, they should be easier to understand. We can then add tests...