This looks like a really good framework — documentation tends to be something that is overlooked even more than testing. Our teams are using TDD and finding a great deal of success with it, but you still have to account for the fact that at some point you are handing your code over to someone else to maintain. Or maybe you are writing something you plan to open source and share with the world. This is a wonderful way of doing it.