Тестовый файл ищется в дире: *_test.go,
Некоторые проверки провалились
test / test (1.16.x) (push) Has been cancelled
test / test (1.17.x) (push) Has been cancelled
test / test (oldstable) (push) Has been cancelled
test / test (stable) (push) Has been cancelled
Некоторые проверки провалились
test / test (1.16.x) (push) Has been cancelled
test / test (1.17.x) (push) Has been cancelled
test / test (oldstable) (push) Has been cancelled
test / test (stable) (push) Has been cancelled
но не init_test.go и не на _mock_test.go
Этот коммит содержится в:
родитель
8d882348a0
коммит
69e0676d93
4 изменённых файлов: 163 добавлений и 72 удалений
|
@ -46,18 +46,20 @@ func (a *ASTer) ДобавитьШаг(шаг, f, ps string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *ASTer) найтиТестовыйФайл() error {
|
func (a *ASTer) найтиТестовыйФайл() error {
|
||||||
a.сгенеритьИмяФайла()
|
|
||||||
_, err := os.Stat(INIT_TEST_GO_FNAME)
|
_, err := os.Stat(INIT_TEST_GO_FNAME)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = os.Stat(a.pkg_test_go_fname)
|
имя, err := найтиТестовыйФайлВЭтойДире()
|
||||||
|
if err != nil {
|
||||||
|
return errors.Join(errors.New("Не могу найти *_test.go файл"), err)
|
||||||
|
}
|
||||||
|
|
||||||
|
a.pkg_test_go_fname = имя
|
||||||
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
func (a *ASTer) сгенеритьИмяФайла() {
|
|
||||||
a.pkg_test_go_fname = a.pkg + "_test.go"
|
|
||||||
}
|
|
||||||
|
|
||||||
func (a *ASTer) добавитьШаг(шаг, f, ps string) error {
|
func (a *ASTer) добавитьШаг(шаг, f, ps string) error {
|
||||||
err := a.добавитьШагвInitФайл(шаг, f)
|
err := a.добавитьШагвInitФайл(шаг, f)
|
||||||
|
|
|
@ -6,9 +6,9 @@
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -29,10 +29,10 @@
|
||||||
То Файл "init_test.go" должен содержать:
|
То Файл "init_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -43,24 +43,24 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир() {
|
func ПриветМир() {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами: int
|
Сценарий: Добавление шага, с другим тестовым файлом
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -71,7 +71,59 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
Дано Файл "system_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)
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
То Файл "system_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":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -81,19 +133,19 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 int) {
|
func ПриветМир(arg1 int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами: int, string
|
Сценарий: Добавление шага с параметрами: int, string
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -104,7 +156,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -114,19 +166,19 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 int, arg2 string) {
|
func ПриветМир(arg1 int, arg2 string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами: string, int
|
Сценарий: Добавление шага с параметрами: string, int
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -137,7 +189,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -147,20 +199,20 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 string, arg2 int) {
|
func ПриветМир(arg1 string, arg2 int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага к существующему
|
Сценарий: Добавление шага к существующему
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`сделать чтото`, СделатьЧтото)
|
ctx.Step(`сделать чтото`, СделатьЧтото)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -171,26 +223,26 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func СделатьЧтото(arg1 string, arg2 int) {
|
func СделатьЧтото(arg1 string, arg2 int) {
|
||||||
a := 1
|
a := 1
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
||||||
То Файл "init_test.go" должен содержать:
|
То Файл "init_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`сделать чтото`, СделатьЧтото)
|
ctx.Step(`сделать чтото`, СделатьЧтото)
|
||||||
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -201,28 +253,28 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func СделатьЧтото(arg1 string, arg2 int) {
|
func СделатьЧтото(arg1 string, arg2 int) {
|
||||||
a := 1
|
a := 1
|
||||||
}
|
}
|
||||||
func ПриветМир(arg1 int) {
|
func ПриветМир(arg1 int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Не добавляет если шаг с такой функцией уже есть
|
Сценарий: Не добавляет если шаг с такой функцией уже есть
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -233,26 +285,26 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 string, arg2 int) {
|
func ПриветМир(arg1 string, arg2 int) {
|
||||||
a := 1
|
a := 1
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
||||||
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
||||||
То Файл "init_test.go" должен содержать:
|
То Файл "init_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -263,25 +315,25 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 string, arg2 int) {
|
func ПриветМир(arg1 string, arg2 int) {
|
||||||
a := 1
|
a := 1
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Второй раз - не добавляет
|
Сценарий: Второй раз - не добавляет
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -292,22 +344,22 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
```
|
```
|
||||||
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
||||||
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
Когда Добавляется шаг: "^Привет Мир!$" с функцией "ПриветМир" с "arg1 int"
|
||||||
То Файл "init_test.go" должен содержать:
|
То Файл "init_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
ctx.Step(`^Привет Мир!$`, ПриветМир)
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -318,24 +370,24 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(arg1 int) {
|
func ПриветМир(arg1 int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами строкой
|
Сценарий: Добавление шага с параметрами строкой
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -346,7 +398,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -356,19 +408,19 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(a int, s string, content *godog.DocString) {
|
func ПриветМир(a int, s string, content *godog.DocString) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами строкой с объединением по типу
|
Сценарий: Добавление шага с параметрами строкой с объединением по типу
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -379,7 +431,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -389,19 +441,19 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(a, b, c int) {
|
func ПриветМир(a, b, c int) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Сценарий: Добавление шага с параметрами строкой с объединением по типам
|
Сценарий: Добавление шага с параметрами строкой с объединением по типам
|
||||||
Дано Файл "init_test.go":
|
Дано Файл "init_test.go":
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func InitializeScenario(ctx *godog.ScenarioContext) {
|
func InitializeScenario(ctx *godog.ScenarioContext) {
|
||||||
|
|
||||||
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
ctx.Before(func(ctx context.Context, sc *godog.Scenario) (context.Context, error) {
|
||||||
beforeScenario()
|
beforeScenario()
|
||||||
return ctx, nil
|
return ctx, nil
|
||||||
|
@ -412,7 +464,7 @@
|
||||||
})
|
})
|
||||||
InitializeGomegaForGodog(ctx)
|
InitializeGomegaForGodog(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
Дано Файл "mypkg_test.go":
|
Дано Файл "mypkg_test.go":
|
||||||
```
|
```
|
||||||
|
@ -422,8 +474,8 @@
|
||||||
То Файл "mypkg_test.go" должен содержать:
|
То Файл "mypkg_test.go" должен содержать:
|
||||||
```
|
```
|
||||||
package mypkg
|
package mypkg
|
||||||
|
|
||||||
func ПриветМир(a, b int, s1, s2 string) {
|
func ПриветМир(a, b int, s1, s2 string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
|
@ -1,10 +1,19 @@
|
||||||
package ast
|
package ast
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
|
|
||||||
// 0: имя, 1: тип
|
// 0: имя, 1: тип
|
||||||
type Параметр []string
|
type Параметр []string
|
||||||
type Параметры []Параметр
|
type Параметры []Параметр
|
||||||
|
|
||||||
func ДобавитьШаг(шаг, f string, ps string) error {
|
func ДобавитьШаг(шаг, f string, ps string) error {
|
||||||
|
err := добавитьШаг(шаг, f, ps)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Ошибка добавления тестового шага:", err)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
func добавитьШаг(шаг, f string, ps string) error {
|
||||||
a, err := NewASTer()
|
a, err := NewASTer()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"errors"
|
"errors"
|
||||||
|
@ -45,6 +46,33 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string,
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func найтиТестовыйФайлВЭтойДире() (name string, err_ret error) {
|
||||||
|
err_ret = errors.New("not found")
|
||||||
|
|
||||||
|
err := filepath.Walk(".", func(path string, info os.FileInfo, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !info.IsDir() && strings.HasSuffix(info.Name(), "_test.go") {
|
||||||
|
if info.Name() == "init_test.go" ||
|
||||||
|
strings.HasSuffix(info.Name(), "_mock_test.go") {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
name = info.Name()
|
||||||
|
err_ret = nil
|
||||||
|
return filepath.SkipDir
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func забекапитьФайлСоВременем(fname string) error {
|
func забекапитьФайлСоВременем(fname string) error {
|
||||||
os.MkdirAll(BACKUP_DIR, 0755)
|
os.MkdirAll(BACKUP_DIR, 0755)
|
||||||
currentTime := time.Now()
|
currentTime := time.Now()
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче