Don't run setup and teardown if no tests collected

For example: specifying a path with no tests, or using -k that filters all the tests out