From 0e54c4aec90176519d8fa59202d01a524a92c667 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Thu, 15 Nov 2018 19:37:50 +0800 Subject: [PATCH] relocate functions related to .env --- httprunner/loader.py | 9 ++++----- tests/test_loader.py | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/httprunner/loader.py b/httprunner/loader.py index 1841055f..acb65fbc 100644 --- a/httprunner/loader.py +++ b/httprunner/loader.py @@ -163,10 +163,11 @@ def load_dot_env_file(dot_env_path): """ if not os.path.isfile(dot_env_path): - raise exceptions.FileNotFound(".env file path is not exist.") + return {} logger.log_info("Loading environment variables from {}".format(dot_env_path)) env_variables_mapping = {} + with io.open(dot_env_path, 'r', encoding='utf-8') as fp: for line in fp: # maxsplit=1 @@ -889,11 +890,9 @@ def load_project_tests(test_path, dot_env_path=None): # load .env dot_env_path = dot_env_path or os.path.join(project_working_directory, ".env") - if os.path.isfile(dot_env_path): - project_mapping["env"] = load_dot_env_file(dot_env_path) - else: - project_mapping["env"] = {} + project_mapping["env"] = load_dot_env_file(dot_env_path) + # load api/testcases project_mapping["def-api"] = load_api_folder(os.path.join(project_working_directory, "api")) # TODO: replace suite with testcases project_mapping["def-testcase"] = load_test_folder(os.path.join(project_working_directory, "suite")) diff --git a/tests/test_loader.py b/tests/test_loader.py index 8f8fd0c8..91f7850e 100644 --- a/tests/test_loader.py +++ b/tests/test_loader.py @@ -153,8 +153,8 @@ class TestFileLoader(unittest.TestCase): dot_env_path = os.path.join( os.getcwd(), "tests", "data", ) - with self.assertRaises(exceptions.FileNotFound): - loader.load_dot_env_file(dot_env_path) + env_variables_mapping = loader.load_dot_env_file(dot_env_path) + self.assertEqual(env_variables_mapping, {}) def test_locate_file(self): with self.assertRaises(exceptions.FileNotFound):