diff --git a/httprunner/api.py b/httprunner/api.py index 54065a37..0d3393a5 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -57,7 +57,7 @@ class HttpRunner(object): self.project_mapping = loader.project_mapping utils.set_os_environ(self.project_mapping["env"]) - def __load_testcases(self, path_or_testcases): + def load_tests(self, path_or_testcases): """ load testcases, extend and merge with api/testcase definitions. Args: @@ -122,7 +122,7 @@ class HttpRunner(object): return testcases - def __parse_testcases(self, testcases, variables_mapping=None): + def parse_tests(self, testcases, variables_mapping=None): """ parse testcases configs, including variables/parameters/name/request. Args: @@ -250,8 +250,8 @@ class HttpRunner(object): """ # parser - testcases_list = self.__load_testcases(path_or_testcases) - parsed_testcases_list = self.__parse_testcases(testcases_list) + testcases_list = self.load_tests(path_or_testcases) + parsed_testcases_list = self.parse_tests(testcases_list) # initialize unittest_runner, test_suite = self.__initialize(parsed_testcases_list) diff --git a/httprunner/context.py b/httprunner/context.py index b41733a6..35c42ceb 100644 --- a/httprunner/context.py +++ b/httprunner/context.py @@ -109,7 +109,7 @@ class Context(object): """ if level == "testcase": - # testcase config request dict has been parsed in __parse_testcases + # testcase config request dict has been parsed in parse_tests self.TESTCASE_SHARED_REQUEST_MAPPING = request_dict return request_dict diff --git a/tests/test_api.py b/tests/test_api.py index 540d8c44..bdc3c7fa 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -343,6 +343,22 @@ class TestHttpRunner(ApiServerUnittest): self.assertIn("get_token", hrunner.project_mapping["def-api"]) self.assertIn("setup_and_reset", hrunner.project_mapping["def-testcase"]) + def test_load_tests(self): + testcase_file_path = os.path.join( + os.getcwd(), 'tests/data/demo_testcase.yml') + runner = HttpRunner() + testcases = runner.load_tests(testcase_file_path) + self.assertIsInstance(testcases, list) + self.assertEqual( + testcases[0]["config"]["request"], + '$demo_default_request' + ) + self.assertEqual(testcases[0]["config"]["name"], '123$var_a') + self.assertIn( + "sum_two", + runner.project_mapping["debugtalk"]["functions"] + ) + class TestLocustRunner(ApiServerUnittest):