I recently listened to a Herding Code podcast on Approval Tests.
The basic idea is that instead of writing:
assert(x == <some-value>)
instead you write:
approve(x)
and when you run the test it shows you the result and asks you to "approve" it. Once you've approved a value, the test will pass (without interaction) as long as the result doesn't change.
If the value is something simple like a number, there's not much point. But if the value is a more complex object like an invoice, then it's much simpler to approve the whole thing than to write a lot of asserts.
I can't see it replacing conventional style asserts, but it seems like it could be useful.
No comments:
Post a Comment