One key element of approvals is the approved artifacts that are created, and I wanted to take some time to go into these. First off, it is worth mentioning that for xUnit type tests, what is created is a file of the name
MyClass.myMethod.approved.extention
... and ...
MyClass.myMethod.received.extention
This file resides in the same directory as the source file for MyClass.
Many times this is simply a text file. The output being approved being taken from the toString() method, or a similar printer. Sometimes it is an html file, which is really just a txt file, sometimes it is a Pdf file or Png image file.
Q: Are these files kept in source control?
Yes, the approved files reside in your source control. This has 2 big benefits
1) The test are repeatable on different systems.
2) You can flip back through easy to view output, to pinpoint when and where a bug got introduced.
Q: What configuration is needed?
None.
Q: How can I write to a custom file format?
Simple, all Approvals.approve(object) calls simply construct an approver, and a reporter. The approver is normally a FileApprover, which takes a FileApprovalWriter and an ApprovalNamer.
To do a custom file output simply make your own ApprovalWriter and your own convenience approve() function
Thursday, October 30, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment