Сравнить коммиты
Нет общих коммитов. «main» и «v1.3.5» имеют совершенно разные истории.
5 изменённых файлов: 72 добавлений и 162 удалений
1
.gitignore
предоставленный
1
.gitignore
предоставленный
|
@ -6,6 +6,7 @@ Gopkg.toml
|
|||
|
||||
.DS_Store
|
||||
.idea
|
||||
.vscode
|
||||
|
||||
_artifacts
|
||||
|
||||
|
|
|
@ -46,20 +46,18 @@ func (a *ASTer) ДобавитьШаг(шаг, f, ps string) error {
|
|||
}
|
||||
|
||||
func (a *ASTer) найтиТестовыйФайл() error {
|
||||
a.сгенеритьИмяФайла()
|
||||
_, err := os.Stat(INIT_TEST_GO_FNAME)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
имя, err := найтиТестовыйФайлВЭтойДире()
|
||||
if err != nil {
|
||||
return errors.Join(errors.New("Не могу найти *_test.go файл"), err)
|
||||
}
|
||||
|
||||
a.pkg_test_go_fname = имя
|
||||
|
||||
_, err = os.Stat(a.pkg_test_go_fname)
|
||||
return err
|
||||
}
|
||||
func (a *ASTer) сгенеритьИмяФайла() {
|
||||
a.pkg_test_go_fname = a.pkg + "_test.go"
|
||||
}
|
||||
|
||||
func (a *ASTer) добавитьШаг(шаг, f, ps string) error {
|
||||
err := a.добавитьШагвInitФайл(шаг, f)
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
Дано Файл "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
|
||||
|
@ -19,7 +19,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -29,10 +29,10 @@
|
|||
То Файл "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
|
||||
|
@ -43,76 +43,24 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
То Файл "mypkg_test.go" должен содержать:
|
||||
```
|
||||
package mypkg
|
||||
|
||||
func ПриветМир() {
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
Сценарий: Добавление шага, с другим тестовым файлом
|
||||
Дано Файл "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)
|
||||
}
|
||||
|
||||
```
|
||||
Дано Файл "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
|
||||
|
@ -123,7 +71,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -133,19 +81,19 @@
|
|||
То Файл "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
|
||||
|
@ -156,7 +104,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -166,19 +114,19 @@
|
|||
То Файл "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
|
||||
|
@ -189,7 +137,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -199,20 +147,20 @@
|
|||
То Файл "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
|
||||
|
@ -223,26 +171,26 @@
|
|||
})
|
||||
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
|
||||
|
@ -253,28 +201,28 @@
|
|||
})
|
||||
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
|
||||
|
@ -285,26 +233,26 @@
|
|||
})
|
||||
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
|
||||
|
@ -315,25 +263,25 @@
|
|||
})
|
||||
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
|
||||
|
@ -344,22 +292,22 @@
|
|||
})
|
||||
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
|
||||
|
@ -370,24 +318,24 @@
|
|||
})
|
||||
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
|
||||
|
@ -398,7 +346,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -408,19 +356,19 @@
|
|||
То Файл "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
|
||||
|
@ -431,7 +379,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -441,19 +389,19 @@
|
|||
То Файл "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
|
||||
|
@ -464,7 +412,7 @@
|
|||
})
|
||||
InitializeGomegaForGodog(ctx)
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
Дано Файл "mypkg_test.go":
|
||||
```
|
||||
|
@ -474,8 +422,8 @@
|
|||
То Файл "mypkg_test.go" должен содержать:
|
||||
```
|
||||
package mypkg
|
||||
|
||||
|
||||
func ПриветМир(a, b int, s1, s2 string) {
|
||||
}
|
||||
|
||||
|
||||
```
|
||||
|
|
|
@ -1,19 +1,10 @@
|
|||
package ast
|
||||
|
||||
import "fmt"
|
||||
|
||||
// 0: имя, 1: тип
|
||||
type Параметр []string
|
||||
type Параметры []Параметр
|
||||
|
||||
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()
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
@ -5,7 +5,6 @@ import (
|
|||
"go/ast"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"errors"
|
||||
|
@ -46,33 +45,6 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string,
|
|||
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 {
|
||||
os.MkdirAll(BACKUP_DIR, 0755)
|
||||
currentTime := time.Now()
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче