MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / TestSuite

Class TestSuite

examples/API Test/test_api.py:185–236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

183
184
185class TestSuite:
186 def __init__(self, name: str):
187 self.name = name
188 self.tests: list[TestCase] = []
189
190 def add_result(self, test: TestCase):
191 self.tests.append(test)
192
193 @property
194 def passed(self) -> int:
195 return sum(1 for t in self.tests if t.result == TestResult.PASSED)
196
197 @property
198 def failed(self) -> int:
199 return sum(1 for t in self.tests if t.result == TestResult.FAILED)
200
201 @property
202 def skipped(self) -> int:
203 return sum(1 for t in self.tests if t.result == TestResult.SKIPPED)
204
205 def print_summary(self):
206 print(bold(f"\n{'=' * 60}"))
207 print(bold(f"Test Suite: {self.name}"))
208 print(bold(f"{'=' * 60}"))
209
210 total = len(self.tests)
211 passed_str = (
212 success(f"Passed: {self.passed}")
213 if self.passed > 0
214 else dim(f"Passed: {self.passed}")
215 )
216 failed_str = (
217 error(f"Failed: {self.failed}")
218 if self.failed > 0
219 else dim(f"Failed: {self.failed}")
220 )
221 skipped_str = (
222 warning(f"Skipped: {self.skipped}")
223 if self.skipped > 0
224 else dim(f"Skipped: {self.skipped}")
225 )
226
227 print(f"Total: {total} | {passed_str} | {failed_str} | {skipped_str}")
228 print(bold(f"{'=' * 60}"))
229
230 if self.failed > 0:
231 print(error("\nFailed Tests:"))
232 for test in self.tests:
233 if test.result == TestResult.FAILED:
234 print(f" {error(chr(10007))} {test.name}: {error(test.message)}")
235
236 print()
237
238
239# =============================================================================

Callers 1

cmd_testFunction · 0.85

Calls

no outgoing calls

Tested by 1

cmd_testFunction · 0.68