This class is designed as a base class for test resources that need to be initialized/teared down once and are required to be executable in both Suite and single test classes, but perform operations that are too expensive to execute before/after every test class. Examples are databases, container orchestration or insertion of large datasets. FlexiScope will detect the scope (suite/class/method) it runs in and call the setUp()/tearDown() methods only once in the corresponding scope. Make sure you use the same instance of your FlexiScope subclass in both your suite and test classes.