These cases are based upon assumptions that I have of what "perfect" or really good functional tests should be like.
- Have a setup that cannot fail, or if it does fail, it is covered by a lower level test (integration/persistence).
- Test what it is supposed to test after, without too much overlap with same-layered tests to avoid dependency issues. (Fetch,Get integration tests often have this issue)
- Readable. Anyone should be able to look at a test and be able to understand what it does
- Maintainable. There should be a clean hierarchy of the macros that prevent tests from breaking each other, but also allow fixing certain macros to fix ones that it should depend on.
Pre-req Notes: Good test qualities