bugfix: when the bind value of variable is not in string type, it should be converted to string first, or it will raise TypeError in replace function

This commit is contained in:
httprunner
2017-07-31 21:04:19 +08:00
parent 46fe02a6cd
commit 233978007e
2 changed files with 34 additions and 5 deletions

View File

@@ -164,7 +164,10 @@ class TestUtils(ApiServerUnittest):
def test_parse_variables(self):
variable_mapping = {
"var_1": "abc",
"var_2": "def"
"var_2": "def",
"var_3": 123,
"var_4": {"a": 1},
"var_5": True
}
self.assertEqual(
utils.parse_variables("$var_1", variable_mapping),
@@ -190,6 +193,26 @@ class TestUtils(ApiServerUnittest):
utils.parse_variables("${func($var_1, $var_2, xyz)}", variable_mapping),
"${func(abc, def, xyz)}"
)
self.assertEqual(
utils.parse_variables("$var_3", variable_mapping),
123
)
self.assertEqual(
utils.parse_variables("$var_4", variable_mapping),
{"a": 1}
)
self.assertEqual(
utils.parse_variables("$var_5", variable_mapping),
True
)
self.assertEqual(
utils.parse_variables("abc$var_5", variable_mapping),
"abcTrue"
)
self.assertEqual(
utils.parse_variables("abc$var_4", variable_mapping),
"abc{'a': 1}"
)
def test_is_functon(self):
content = "${func()}"