...
Never assert or verify the same behavior in more than one test.
Mock Dependencies
When writing unit or component/service tests, mock all dependencies that may fail. This allows the tests to guarantee that the unit or component under test behaves as excepted when one of its dependencies fails.
This is especially important in unit tests as these may be the only tests where some of those exception scenarios can be tested.
Use Proper Clean Up Mechanisms
...