fix #343: locate debugtalk.py and use as project working directory

This commit is contained in:
httprunner
2018-08-23 13:03:42 +08:00
parent 5e2159b097
commit 98ada8c84f
8 changed files with 70 additions and 68 deletions

View File

@@ -185,15 +185,13 @@ class TestModuleLoader(unittest.TestCase):
self.assertNotIn("is_py3", functions_dict)
def test_load_debugtalk_module(self):
project_dir = os.path.join(os.getcwd(), "tests")
loader.load_project_tests(project_dir)
loader.load_debugtalk_module()
loader.load_project_tests(os.path.join(os.getcwd(), "httprunner"))
imported_module_items = loader.project_mapping["debugtalk"]
self.assertIn("equals", imported_module_items["functions"])
self.assertNotIn("SECRET_KEY", imported_module_items["variables"])
self.assertNotIn("alter_response", imported_module_items["functions"])
loader.load_debugtalk_module("tests")
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
imported_module_items = loader.project_mapping["debugtalk"]
self.assertEqual(
imported_module_items["variables"]["SECRET_KEY"],
@@ -228,13 +226,22 @@ class TestModuleLoader(unittest.TestCase):
with self.assertRaises(exceptions.VariableNotFound):
loader.get_module_item(module_mapping, "variables", "SECRET_KEY2")
def test_locate_pwd(self):
loader.locate_pwd("tests/data/demo_testcase.yml")
self.assertEqual(loader.project_working_directory, "tests")
loader.locate_pwd("tests/base.py")
self.assertEqual(loader.project_working_directory, "tests")
loader.locate_pwd("httprunner/__init__.py")
self.assertEqual(loader.project_working_directory, os.getcwd())
class TestSuiteLoader(unittest.TestCase):
@classmethod
def setUpClass(cls):
project_dir = os.path.join(os.getcwd(), "tests")
loader.load_project_tests(project_dir)
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
def test_load_test_file_testcase(self):
testcase = loader._load_test_file("tests/testcases/smoketest.yml")
@@ -483,9 +490,7 @@ class TestSuiteLoader(unittest.TestCase):
)
def test_load_project_tests(self):
loader.project_working_directory = os.path.join(os.getcwd(), "tests")
loader.load_project_tests(loader.project_working_directory)
loader.load_debugtalk_module(loader.project_working_directory)
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
project_mapping = loader.project_mapping
self.assertEqual(project_mapping["debugtalk"]["variables"]["SECRET_KEY"], "DebugTalk")
self.assertIn("get_token", project_mapping["def-api"])