Чтобы соответствовать требованиям параллелизма, мне интересно, как передать аргументы или состояние между несколькими шагами в Godog
.
func FeatureContext(s *godog.Suite) {
// This step is called in background
s.Step(`^I work with "([^"]*)" entities`, iWorkWithEntities)
// This step should know about the type of entity
s.Step(`^I run the "([^"]*)" mutation with the arguments:$`, iRunTheMutationWithTheArguments)
Единственная идея, которая приходит мне в голову - это вставить вызываемая функция:
state := make(map[string]string, 0)
s.Step(`^I work with "([^"]*)" entities`, func(entityName string) error {
return iWorkWithEntities(entityName, state)
})
s.Step(`^I run the "([^"]*)" mutation with the arguments:$`, func(mutationName string, args *messages.PickleStepArgument_PickleTable) error {
return iRunTheMutationWithTheArguments(mutationName, args, state)
})
Но это выглядит как обходной путь. Есть ли какая-либо функция в самой библиотеке Godog
для передачи этой информации?