Advertisement
wojteksznapka

Untitled

Jan 18th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.59 KB | None | 0 0
  1. import consol_run_parameter as run_parameter
  2. from abc import ABC, abstractmethod
  3.  
  4. class Base_Test1:
  5.     # pewnie można zrobić jakiś typehinting że to jest tablica obiektów AbstractFunctionality
  6.     additional_functionalities = []
  7.  
  8.     def check_requirements(self):
  9.         pass
  10.  
  11.     def setup_class(cls):
  12.         if run_parameter.security:
  13.             # przyjmij do testu inne ilimity, wyrocznie itp
  14.             # wykonaj dodatkowe metody
  15.             pass
  16.  
  17.     def setup(self):
  18.         pass
  19.  
  20.     def teardown_class(cls):
  21.         pass
  22.  
  23.     def teardown(self):
  24.         pass
  25.  
  26.     def _test_check_feature(self):
  27.         # normalne sprawdzenie rzeczy
  28.         # sprawdzenie rzeczy dodatkowych, dynamicznie zdefiniowanych
  29.         for functionality in self.additional_functionalities:
  30.             if not functionality.assert():
  31.                 raise "Duża buba"
  32.  
  33.  
  34. # product a
  35. class Test_1(Base_Test1):
  36.     def setup_class(cls):
  37.         pass
  38.  
  39.     def setup(self):
  40.         self.additional_functionalities.append(SpecialFunctionalityOne())
  41.         self.additional_functionalities.append(SpecialFunctionalityTwo())
  42.  
  43.     def teardown(self):
  44.         pass
  45.  
  46.     def teardown(self):
  47.         pass
  48.  
  49.     def test_check_feature(self):
  50.         # zrob cos specyficznego dla tego produktu
  51.         Base_Test1._test_check_feature()
  52.  
  53. class AbstractFunctionality(ABC):
  54.     @abstractmethod
  55.     def assert(self):
  56.         pass
  57.  
  58. class SpecialFunctionalityOne(AbstractFunctionality):
  59.     def assert(self):
  60.         return 1 == 1
  61.  
  62.  
  63. class SpecialFunctionalityTwo(AbstractFunctionality):
  64.     def assert(self):
  65.         return 2 == 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement