Guest User

Untitled

a guest
Jun 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.26 KB | None | 0 0
  1. import datetime
  2. import unittest
  3.  
  4.  
  5. class SortTest(unittest.TestCase):
  6. def test_one(self): print("none: " + str(datetime.datetime.now().time()))
  7.  
  8. def test_two(self): print("ntwo: " + str(datetime.datetime.now().time()))
  9.  
  10. def test_three(self): print("nthree: " + str(datetime.datetime.now().time()))
  11.  
  12. def test_four(self): print("nfour: " + str(datetime.datetime.now().time()))
  13.  
  14. def test_five(self): print("nfive: " + str(datetime.datetime.now().time()))
  15.  
  16. def test_six(self): print("nsix: " + str(datetime.datetime.now().time()))
  17.  
  18.  
  19. def suiteFactory(*test_cases):
  20. ln = lambda f: getattr(tc, f).__code__.co_firstlineno
  21. lncmp = lambda a, b: ln(a) - ln(b)
  22.  
  23. test_suite = unittest.TestSuite()
  24. for tc in test_cases:
  25. test_suite.addTest(unittest.makeSuite(tc, sortUsing=lncmp))
  26.  
  27. return test_suite
  28.  
  29.  
  30. def caseFactory():
  31. from inspect import findsource
  32.  
  33. g = globals().copy()
  34.  
  35. cases = [
  36. g[obj] for obj in g
  37. if obj.startswith("Test")
  38. and issubclass(g[obj], unittest.TestCase)
  39. ]
  40.  
  41. ordered_cases = sorted(cases, key=lambda f: findsource(f)[1])
  42.  
  43. return ordered_cases
  44.  
  45.  
  46. if __name__ == '__main__':
  47. cases = suiteFactory(*caseFactory())
  48. runner = unittest.TextTestRunner(verbosity=2)
  49. runner.run(cases)
Add Comment
Please, Sign In to add comment