From 1983f98c6275c0661a21e4c443a8d156ecdbccfe Mon Sep 17 00:00:00 2001 From: debugtalk Date: Fri, 10 Aug 2018 23:40:04 +0800 Subject: [PATCH] load tests when initializing HttpRunner --- httprunner/task.py | 7 +++++-- tests/test_loader.py | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/httprunner/task.py b/httprunner/task.py index 1ef8e704..1dfabc89 100644 --- a/httprunner/task.py +++ b/httprunner/task.py @@ -217,8 +217,11 @@ class HttpRunner(object): - dot_env_path: .env file path """ dot_env_path = kwargs.pop("dot_env_path", None) - self.env_mapping = loader.load_dot_env_file(dot_env_path) - utils.set_os_environ(self.env_mapping) + env_mapping = loader.load_dot_env_file(dot_env_path) + utils.set_os_environ(env_mapping) + # TODO: remove tests + self.project_mapping = loader.load_project_tests("tests") + self.project_mapping["env"] = env_mapping kwargs.setdefault("resultclass", HtmlTestResult) self.runner = unittest.TextTestRunner(**kwargs) diff --git a/tests/test_loader.py b/tests/test_loader.py index 1e831d8e..867e2723 100644 --- a/tests/test_loader.py +++ b/tests/test_loader.py @@ -1,7 +1,7 @@ import os import unittest -from httprunner import exceptions, loader, validator +from httprunner import exceptions, loader, task, validator class TestFileLoader(unittest.TestCase): @@ -502,3 +502,16 @@ class TestSuiteLoader(unittest.TestCase): self.assertEqual(project_tests["debugtalk"]["variables"]["SECRET_KEY"], "DebugTalk") self.assertIn("get_token", project_tests["tests"]["api"]) self.assertIn("setup_and_reset", project_tests["tests"]["testcases"]) + + def test_loader(self): + hrunner = task.HttpRunner(dot_env_path="tests/data/test.env") + self.assertEqual(hrunner.project_mapping["env"]["PROJECT_KEY"], "ABCDEFGH") + self.assertIn("debugtalk", hrunner.project_mapping) + self.assertIn("setup_and_reset", hrunner.project_mapping["tests"]["testcases"]) + self.assertEqual( + hrunner.project_mapping["debugtalk"]["variables"]["SECRET_KEY"], + "DebugTalk" + ) + self.assertIn("get_sign", hrunner.project_mapping["debugtalk"]["functions"]) + self.assertIn("get_token", hrunner.project_mapping["tests"]["api"]) + self.assertIn("setup_and_reset", hrunner.project_mapping["tests"]["testcases"])