diff --git a/ate/testcase.py b/ate/testcase.py index 8cd0458b..d192e45b 100644 --- a/ate/testcase.py +++ b/ate/testcase.py @@ -118,15 +118,14 @@ class TestcaseParser(object): def get_bind_item(self, item_type, item_name): if item_type == "function": - item = self.functions_binds.get(item_name) + if item_name in self.functions_binds: + return self.functions_binds[item_name] elif item_type == "variable": - item = self.variables_binds.get(item_name) + if item_name in self.variables_binds: + return self.variables_binds[item_name] else: raise exception.ParamsError("bind item should only be function or variable.") - if item: - return item - try: assert self.file_path is not None return utils.search_conf_item(self.file_path, item_type, item_name) diff --git a/tests/test_testcase.py b/tests/test_testcase.py index 7cd27937..9cdee695 100644 --- a/tests/test_testcase.py +++ b/tests/test_testcase.py @@ -59,7 +59,8 @@ class TestcaseParserUnittest(unittest.TestCase): "var_2": "def", "var_3": 123, "var_4": {"a": 1}, - "var_5": True + "var_5": True, + "var_6": None } testcase_parser = testcase.TestcaseParser(variables_binds=variable_binds) self.assertEqual( @@ -106,6 +107,10 @@ class TestcaseParserUnittest(unittest.TestCase): testcase_parser.eval_content_variables("abc$var_4"), "abc{'a': 1}" ) + self.assertEqual( + testcase_parser.eval_content_variables("$var_6"), + None + ) def test_eval_content_variables_search_upward(self): testcase_parser = testcase.TestcaseParser()