Browse Source

Timing for Testcases instantiated instead of Timing from TestRun.

bernhardbuhl 4 years ago
parent
commit
0185767893
2 changed files with 12 additions and 2 deletions
  1. 11 1
      baangt/TestCase/TestCaseMaster.py
  2. 1 1
      tests/test_Timing.py

+ 11 - 1
baangt/TestCase/TestCaseMaster.py

@@ -19,7 +19,8 @@ class TestCaseMaster:
         self.testSteps = self.testCaseSettings[2][GC.STRUCTURE_TESTSTEP]
         self.testCaseType = self.testCaseSettings[1][GC.KWARGS_TESTCASETYPE]
         self.kwargs = kwargs
-        self.timing : Timing = self.kwargs.get(GC.KWARGS_TIMING)
+        # self.timing : Timing = self.kwargs.get(GC.KWARGS_TIMING)
+        self.timing = Timing()
         self.sequenceNumber = self.kwargs.get(GC.KWARGS_SEQUENCENUMBER)
         self.timingName = self.timing.takeTime(self.__class__.__name__, forceNew=True)
         if self.testCaseType == GC.KWARGS_BROWSER:
@@ -64,9 +65,16 @@ class TestCaseMaster:
         self.kwargs[GC.KWARGS_BROWSER] = self.browser
 
     def execute(self):
+        # Save timing Class from Testrun for later:
+        lTestRunTiming = self.kwargs[GC.KWARGS_TIMING]
+        # Replace Timing class with current, local timing class:
+        self.kwargs[GC.KWARGS_TIMING] = self.timing
+
+        # Get all the TestSteps for the global loop, that are kept within this TestCase:
         lTestStepClasses = {}
         for testStepSequenceNumer, testStep in enumerate(self.testSteps.keys(),start=1):
             lTestStepClasses[testStepSequenceNumer] = self.testSteps[testStep][0]["TestStepClass"]
+
         try:
             self.testRunInstance.executeDictSequenceOfClasses(lTestStepClasses, GC.STRUCTURE_TESTSTEP, **self.kwargs)
         except baangtTestStepException as e:
@@ -75,6 +83,8 @@ class TestCaseMaster:
             self.kwargs[GC.KWARGS_DATA][GC.TESTCASESTATUS] = GC.TESTCASESTATUS_ERROR
         finally:
             self._finalizeTestCase()
+            # Switch back to global Timing class:
+            self.kwargs[GC.KWARGS_TIMING] = lTestRunTiming
 
     def _finalizeTestCase(self):
         tcData = self.kwargs[GC.KWARGS_DATA]

+ 1 - 1
tests/test_Timing.py

@@ -48,7 +48,7 @@ def test_timing_reset_time():
     for name in names:
         timer.takeTime(name)
 
-    timer.resetTime()
+    timer.resetTime('test')
     assert timer.returnTime() == ''
 
 def test_timing___format_time():