Before should setup a test case condition.
After should clean up that condition to eliminate side effects put in by "before". Therefore, it is typical to pass state from before to after which cleans up the mess. For instance, creating a scratch directory in before with "mktemp -d" should be deleted by after... This doesn't work when roundup tests the sanity of before/after and you end up with side effects.
before() {
OUT=$(mktemp -d "/tmp/roundup.test.XXXXX")
}
after() {
rm -rf ${OUT}
}