From ae780b340bf7776c5c15503516e4eac4bb647c9b Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 24 Dec 2019 20:14:59 +0800 Subject: [PATCH] change: add HookTypeEnum --- httprunner/runner.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/httprunner/runner.py b/httprunner/runner.py index 9013ff2a..86804722 100644 --- a/httprunner/runner.py +++ b/httprunner/runner.py @@ -1,5 +1,6 @@ # encoding: utf-8 +from enum import Enum from unittest.case import SkipTest from httprunner import exceptions, logger, response, utils @@ -8,6 +9,11 @@ from httprunner.context import SessionContext from httprunner.validator import Validator +class HookTypeEnum(Enum): + SETUP = 1 + TEARDOWN = 2 + + class Runner(object): """ Running testcases. @@ -74,11 +80,11 @@ class Runner(object): self.session_context = SessionContext(config_variables) if testcase_setup_hooks: - self.do_hook_actions(testcase_setup_hooks, "setup") + self.do_hook_actions(testcase_setup_hooks, HookTypeEnum.SETUP) def __del__(self): if self.testcase_teardown_hooks: - self.do_hook_actions(self.testcase_teardown_hooks, "teardown") + self.do_hook_actions(self.testcase_teardown_hooks, HookTypeEnum.TEARDOWN) def __clear_test_data(self): """ clear request and response data @@ -131,10 +137,10 @@ class Runner(object): format2 (str): only call hook functions. ${func()} - hook_type (enum): setup/teardown + hook_type (HookTypeEnum): setup/teardown """ - logger.log_debug("call {} hook actions.".format(hook_type)) + logger.log_debug("call {} hook actions.".format(hook_type.name)) for action in actions: if isinstance(action, dict) and len(action) == 1: @@ -215,7 +221,7 @@ class Runner(object): # setup hooks setup_hooks = test_dict.get("setup_hooks", []) if setup_hooks: - self.do_hook_actions(setup_hooks, "setup") + self.do_hook_actions(setup_hooks, HookTypeEnum.SETUP) try: method = parsed_test_request.pop('method') @@ -270,7 +276,7 @@ class Runner(object): teardown_hooks = test_dict.get("teardown_hooks", []) if teardown_hooks: self.session_context.update_test_variables("response", resp_obj) - self.do_hook_actions(teardown_hooks, "teardown") + self.do_hook_actions(teardown_hooks, HookTypeEnum.TEARDOWN) self.http_client_session.update_last_req_resp_record(resp_obj) # extract