429 строки
13 КиБ
Gherkin
429 строки
13 КиБ
Gherkin
# language: ru
|
|
Функционал: AST-редактир go-файлов
|
|
Сгенерированные функции автоматически добавляются в тест-файл текущего пакета
|
|
|
|
Сценарий: Добавление шага
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с ""
|
|
То Файл "init_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир() {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами: int
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 int) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами: int, string
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int, arg2 string"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 int, arg2 string) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами: string, int
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 string, arg2 int"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 string, arg2 int) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага к существующему
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`сделать чтото`, СделатьЧтото)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func СделатьЧтото(arg1 string, arg2 int) {
|
|
a := 1
|
|
}
|
|
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
То Файл "init_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`сделать чтото`, СделатьЧтото)
|
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func СделатьЧтото(arg1 string, arg2 int) {
|
|
a := 1
|
|
}
|
|
func ПриветМир(arg1 int) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Не добавляет если шаг с такой функцией уже есть
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 string, arg2 int) {
|
|
a := 1
|
|
}
|
|
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
То Файл "init_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 string, arg2 int) {
|
|
a := 1
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Второй раз - не добавляет
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
|
То Файл "init_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(arg1 int) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами строкой
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "a int, s string, content *godog.DocString"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(a int, s string, content *godog.DocString) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами строкой с объединением по типу
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "a, b, c int"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(a, b, c int) {
|
|
}
|
|
|
|
```
|
|
|
|
Сценарий: Добавление шага с параметрами строкой с объединением по типам
|
|
Дано Файл "init_test.go":
|
|
```
|
|
package mypkg
|
|
|
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
|
|
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
|
beforeScenario()
|
|
return ctx, nil
|
|
})
|
|
ctx.After(func(ctx context.Context, sc *godog.Scenario, err error) (context.Context, error) {
|
|
afterScenario()
|
|
return ctx, nil
|
|
})
|
|
InitializeGomegaForGodog(ctx)
|
|
}
|
|
|
|
```
|
|
Дано Файл "mypkg_test.go":
|
|
```
|
|
package mypkg
|
|
```
|
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "a, b int, s1, s2 string"
|
|
То Файл "mypkg_test.go" должен содержать:
|
|
```
|
|
package mypkg
|
|
|
|
func ПриветМир(a, b int, s1, s2 string) {
|
|
}
|
|
|
|
```
|