Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import consol_run_parameter as run_parameter
- from abc import ABC, abstractmethod
- class Base_Test1:
- # pewnie można zrobić jakiś typehinting że to jest tablica obiektów AbstractFunctionality
- additional_functionalities = []
- def check_requirements(self):
- pass
- def setup_class(cls):
- if run_parameter.security:
- # przyjmij do testu inne ilimity, wyrocznie itp
- # wykonaj dodatkowe metody
- pass
- def setup(self):
- pass
- def teardown_class(cls):
- pass
- def teardown(self):
- pass
- def _test_check_feature(self):
- # normalne sprawdzenie rzeczy
- # sprawdzenie rzeczy dodatkowych, dynamicznie zdefiniowanych
- for functionality in self.additional_functionalities:
- if not functionality.assert():
- raise "Duża buba"
- # product a
- class Test_1(Base_Test1):
- def setup_class(cls):
- pass
- def setup(self):
- self.additional_functionalities.append(SpecialFunctionalityOne())
- self.additional_functionalities.append(SpecialFunctionalityTwo())
- def teardown(self):
- pass
- def teardown(self):
- pass
- def test_check_feature(self):
- # zrob cos specyficznego dla tego produktu
- Base_Test1._test_check_feature()
- class AbstractFunctionality(ABC):
- @abstractmethod
- def assert(self):
- pass
- class SpecialFunctionalityOne(AbstractFunctionality):
- def assert(self):
- return 1 == 1
- class SpecialFunctionalityTwo(AbstractFunctionality):
- def assert(self):
- return 2 == 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement