+ Сценарий: Добавление шага, и с родным, и с другим тестовыми файлами - меняется родной
Ожидается выполнение проверок
test / test (1.16.x) (push) Waiting to run
test / test (1.17.x) (push) Waiting to run
test / test (oldstable) (push) Waiting to run
test / test (stable) (push) Waiting to run

Этот коммит содержится в:
Softonik 2026-01-28 11:33:35 +03:00
родитель 69e0676d93
коммит b78d412650
2 изменённых файлов: 72 добавлений и 2 удалений

Просмотреть файл

@ -51,14 +51,24 @@ func (a *ASTer) найтиТестовыйФайл() error {
return err
}
имя, err := найтиТестовыйФайлВЭтойДире()
имя := a.сгенеритьИмяТестовогоФайла()
_, err = os.Stat(имя)
if err == nil {
a.pkg_test_go_fname = имя
return nil
}
имя, err = найтиТестовыйФайлВЭтойДире()
if err != nil {
return errors.Join(errors.New("Не могу найти *_test.go файл"), err)
}
a.pkg_test_go_fname = имя
return err
return nil
}
func (a *ASTer) сгенеритьИмяТестовогоФайла() string {
return a.pkg + "_test.go"
}
func (a *ASTer) добавитьШаг(шаг, f, ps string) error {

Просмотреть файл

@ -106,6 +106,66 @@
```
Сценарий: Добавление шага, и с родным, и с другим тестовыми файлами - меняется родной
Дано Файл "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_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 ПриветМир() {
}
```
То Файл "a_test.go" должен содержать:
```
package mypkg
```
Сценарий: Добавление шага с параметрами: int
Дано Файл "init_test.go":
```