feat: data-driven.

This commit is contained in:
徐聪
2021-12-29 15:02:12 +08:00
parent 97e2865022
commit 83923affa8
4 changed files with 37 additions and 31 deletions

View File

@@ -625,8 +625,11 @@ func TestParseParameters(t *testing.T) {
expectVars []map[string]interface{}
}{
{
map[string]interface{}{"username-password": "${parameterize(examples/account.csv)}", "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
[]map[string]interface{}{{"username": "test1", "password": "111111", "user_agent": "IOS/10.1"},
map[string]interface{}{
"username-password": "${parameterize(examples/account.csv)}",
"user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
[]map[string]interface{}{
{"username": "test1", "password": "111111", "user_agent": "IOS/10.1"},
{"username": "test1", "password": "111111", "user_agent": "IOS/10.2"},
{"username": "test2", "password": "222222", "user_agent": "IOS/10.1"},
{"username": "test2", "password": "222222", "user_agent": "IOS/10.2"},
@@ -634,12 +637,23 @@ func TestParseParameters(t *testing.T) {
{"username": "test3", "password": "333333", "user_agent": "IOS/10.2"}},
},
{
map[string]interface{}{},
nil,
map[string]interface{}{
"username-password": [][]interface{}{{"test1", "111111"}, {"test2", "222222"}, {"test3", "333333"}},
"user_agent": []interface{}{"IOS/10.1", "IOS/10.2"},
"app_version": []interface{}{0.3}},
[]map[string]interface{}{
{"username": "test1", "password": "111111", "user_agent": "IOS/10.1", "app_version": 0.3},
{"username": "test1", "password": "111111", "user_agent": "IOS/10.2", "app_version": 0.3},
{"username": "test2", "password": "222222", "user_agent": "IOS/10.1", "app_version": 0.3},
{"username": "test2", "password": "222222", "user_agent": "IOS/10.2", "app_version": 0.3},
{"username": "test3", "password": "333333", "user_agent": "IOS/10.1", "app_version": 0.3},
{"username": "test3", "password": "333333", "user_agent": "IOS/10.2", "app_version": 0.3}},
},
{
nil,
nil,
map[string]interface{}{}, nil,
},
{
nil, nil,
},
}
for _, data := range testData {
@@ -655,13 +669,19 @@ func TestParseParametersError(t *testing.T) {
rawVars map[string]interface{}
}{
{
map[string]interface{}{"username_password": "${parameterize(examples/account.csv)}", "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
map[string]interface{}{
"username_password": "${parameterize(examples/account.csv)}",
"user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
},
{
map[string]interface{}{"username-password": "${parameterize(examples/account.csv)}", "user-agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
map[string]interface{}{
"username-password": "${parameterize(examples/account.csv)}",
"user-agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
},
{
map[string]interface{}{"username-password": "${param(examples/account.csv)}", "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
map[string]interface{}{
"username-password": "${param(examples/account.csv)}",
"user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}},
},
}
for _, data := range testData {