= Test fixture sharing for test case methods / shared resources =
 When writing heavy functional test cases which have a time-consuming setUp()/tearDown() (often database related), you often want the setUp()/tearDown() step to be executed only once to run all the test cases to decrease the time required to run the test.

 The obvious drawback of this is that tests are not isolated from each other, which means that a test may pass because a test before it was run, or a test may fail because a previous test failed.

 Possible implementations:
 * Test cases share the same fixture: REJECTED. This took a long while to decide, but it put too much complexity on the framework as test case may run concurrently, multiple times... Deciding when setUp() and tearDown() needed to be called would be too complex.
 * Test cases indicate they require a specific resource. The framework has way to detect that dependency and correctly setUp/tearDown that resource.
 * Test cases are a single test which can be broken in non runnable "sub-test" for test result reporting.
