mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-19 23:30:09 +08:00
fix #343: locate debugtalk.py and use as project working directory
This commit is contained in:
@@ -2,7 +2,7 @@ import os
|
||||
import shutil
|
||||
import time
|
||||
|
||||
from httprunner import HttpRunner, LocustRunner
|
||||
from httprunner import HttpRunner, LocustRunner, loader
|
||||
from locust import HttpLocust
|
||||
from tests.api_server import HTTPBIN_SERVER
|
||||
from tests.base import ApiServerUnittest
|
||||
@@ -89,7 +89,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
self.assertEqual(summary["stat"]["skipped"], 4)
|
||||
|
||||
runner.gen_html_report(html_report_name=output_folder_name)
|
||||
report_save_dir = os.path.join(os.getcwd(), 'reports', output_folder_name)
|
||||
report_save_dir = os.path.join(loader.project_working_directory, 'reports', output_folder_name)
|
||||
self.assertGreater(len(os.listdir(report_save_dir)), 0)
|
||||
shutil.rmtree(report_save_dir)
|
||||
|
||||
@@ -155,7 +155,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
output_folder_name = os.path.basename(os.path.splitext(testset_path)[0])
|
||||
report = runner.gen_html_report(html_report_name=output_folder_name)
|
||||
self.assertTrue(os.path.isfile(report))
|
||||
report_save_dir = os.path.join(os.getcwd(), 'reports', output_folder_name)
|
||||
report_save_dir = os.path.join(loader.project_working_directory, 'reports', output_folder_name)
|
||||
shutil.rmtree(report_save_dir)
|
||||
|
||||
def test_testcase_layer(self):
|
||||
|
||||
@@ -9,9 +9,7 @@ from tests.base import ApiServerUnittest
|
||||
class TestContext(ApiServerUnittest):
|
||||
|
||||
def setUp(self):
|
||||
project_dir = os.path.join(os.getcwd(), "tests")
|
||||
loader.load_project_tests(project_dir)
|
||||
loader.load_debugtalk_module(project_dir)
|
||||
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
|
||||
self.debugtalk_module = loader.project_mapping["debugtalk"]
|
||||
|
||||
self.context = context.Context(
|
||||
|
||||
@@ -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"])
|
||||
|
||||
@@ -412,8 +412,7 @@ class TestParser(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_parse_parameters_mix(self):
|
||||
project_dir = os.path.join(os.getcwd(), "tests")
|
||||
loader.load_debugtalk_module(project_dir)
|
||||
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
|
||||
project_mapping = loader.project_mapping
|
||||
|
||||
parameters = [
|
||||
|
||||
@@ -10,9 +10,7 @@ from tests.base import ApiServerUnittest
|
||||
class TestRunner(ApiServerUnittest):
|
||||
|
||||
def setUp(self):
|
||||
project_dir = os.path.join(os.getcwd(), "tests")
|
||||
loader.load_project_tests(project_dir)
|
||||
loader.load_debugtalk_module(project_dir)
|
||||
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
|
||||
self.debugtalk_module = loader.project_mapping["debugtalk"]
|
||||
config_dict = {
|
||||
"variables": self.debugtalk_module["variables"],
|
||||
|
||||
Reference in New Issue
Block a user