我不確定這是不是故意的,但我對這種行為感到困惑。當我有以下場景大綱時:Scenario Outline: outline1Given urlAnd query parameters <query_params>When methodThen status isExamples:| method | endpoint | query_params | status || GET | /endpoint1 | ?a=1&b=1 | 200 || GET | /endpoint1 | ?a=1&b=1&c=3 | 200 |我看到生成了以下代碼段。func FeatureContext(s *godog.Suite) {s.Step(^method GET$, methodGET)s.Step(^query parameters \?a=(\d+)&b=(\d+)$, queryParametersAB)s.Step(^query parameters \?a=(\d+)&b=(\d+)&c=(\d+)$, queryParametersABC)}如您所見,兩行“查詢參數”產生了兩個不同的函數。為什么godog要解析這段文字?這與黃瓜小黃瓜解析有點不同。這樣做的一個副作用是,如果我在數據表中有 100 行,我將被迫實現所有這些行。有沒有辦法讓 godog 不做這個解析?
1 回答

DIEA
TA貢獻1820條經驗 獲得超2個贊
該問題的解決方案是使用雙引號,如下所示。
Scenario Outline: outline1
Given url
And query parameters "<query_params>"
When method
Then status is
Examples:
| method | endpoint | query_params | status |
| GET | /endpoint1 | ?a=1&b=1 | 200 |
| GET | /endpoint1 | ?a=1&b=1&c=3 | 200 |
然后將生成以下內容:
s.Step(`^query parameters "([^"]*)"$`, queryParameters)
- 1 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消