Testing code can involve making sure that files are created and deleted as
expected. Doing this manually can be error prone, as it's easy to forget a
file, or miss that some unexpected file was added. This module simplifies
maintaining test directories by tracking their status as they are modified or
tested with this API, making it simple to test both individual files, as well
as to verify that there are no missing or unknown files.
The idea is to use this API to create a temporary directory and populate an
initial set of files. Then, whenever something in the directory changes, use
the test methods to verify that the change happened as expected. At any time,
it is simple to verify that the contents of the directory are exactly as
Test::Directory implements an object-oriented interface for managing test
directories. It tracks which files it knows about (by creating or testing them
via its API), and can report if any files were missing or unexpectedly added.
There are two flavors of methods for interacting with the directory. Utility
methods simply return a value (i.e. the number of files/errors) with no output,
while the Test functions use Test::Builder to produce the appropriate test
results and diagnostics for the test harness.
The directory will be automatically cleaned up when the object goes out of