(test)
| 389 | |
| 390 | |
| 391 | def get_test_id(test): |
| 392 | if getattr(test, "is_behave", None): |
| 393 | file_name = sb_config.behave_scenario.filename |
| 394 | line_num = sb_config.behave_line_num |
| 395 | scenario_name = sb_config.behave_scenario.name |
| 396 | if " -- @" in scenario_name: |
| 397 | scenario_name = scenario_name.split(" -- @")[0] |
| 398 | test_id = "%s:%s => %s" % (file_name, line_num, scenario_name) |
| 399 | return test_id |
| 400 | elif getattr(test, "is_context_manager", None): |
| 401 | filename = test.__class__.__module__.split(".")[-1] + ".py" |
| 402 | classname = test.__class__.__name__ |
| 403 | methodname = test._testMethodName |
| 404 | context_id = None |
| 405 | if filename == "base_case.py" or methodname == "runTest": |
| 406 | import traceback |
| 407 | |
| 408 | stack_base = traceback.format_stack()[0].split(", in ")[0] |
| 409 | test_base = stack_base.split(", in ")[0].split(os.sep)[-1] |
| 410 | if getattr(test, "cm_filename", None): |
| 411 | filename = test.cm_filename |
| 412 | else: |
| 413 | filename = test_base.split('"')[0] |
| 414 | classname = "SB" |
| 415 | methodname = ".py:" + test_base.split(", line ")[-1] |
| 416 | context_id = filename.split(".")[0] + methodname + ":" + classname |
| 417 | return context_id |
| 418 | test_id = None |
| 419 | try: |
| 420 | test_id = get_test_name(test) |
| 421 | except Exception: |
| 422 | test_id = "%s.%s.%s" % ( |
| 423 | test.__class__.__module__, |
| 424 | test.__class__.__name__, |
| 425 | test._testMethodName, |
| 426 | ) |
| 427 | if test._sb_test_identifier and len(str(test._sb_test_identifier)) > 6: |
| 428 | test_id = test._sb_test_identifier |
| 429 | return test_id |
| 430 | |
| 431 | |
| 432 | def get_test_name(test): |
no test coverage detected
searching dependent graphs…