I guess I am not too sure on what you mean by the "cases in between". There are only a few cases I can think of where a skipped test would be appropriate. Operating system specific code comes to mind. As does optional functionality that is dependant on packages the user doesn't have installed. Other than that I don't know why you would skip.
As for the setting the environment variables, the tests fail because at that moment, the module doesn't work because the envronment variables aren't set correctly. In my opinon those tests should fail with a message informing the user that the variables are not set correctly.