godogのstep定義の戻り値のcontextがあるときとないときの違い
#godog
godogのstep定義の戻り値にcontextがあるバージョンとないバージョンがかけるようだ。どのように動作が変わるのだろうか。
https://github.com/cucumber/godog/blob/main/internal/models/stepdef.go#L194
code: stedef.go
res := sd.HandlerValue.Call(values)
if len(res) == 0 {
return ctx, nil
}
if len(res) == 1 {
r := res0.Interface()
if ctx, ok := r.(context.Context); ok {
return ctx, nil
}
return ctx, res0.Interface()
}
return res0.Interface().(context.Context), res1.Interface()
戻り値ないときや1つのときはもともとstepに渡したcontextをもってきてくれるようだ