load tests when initializing HttpRunner

This commit is contained in:
debugtalk
2018-08-10 23:40:04 +08:00
parent ba7bdc7be3
commit 1983f98c62
2 changed files with 19 additions and 3 deletions

View File

@@ -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)

View File

@@ -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"])