I've been using nodeunit and its ability to work with async functions is reasonably straightforward.
There's a nice walkthrough that should get you ready-to-go with nodeunit on his blog.
[ Note: the API has changed since the blogpost – setUp(callback)
and tearDown(callback)
both take a callback as an argument, which you need to call when your setup/teardown is complete. ]