Сравнить коммиты

..

Нет общих коммитов. «main» и «v1.3.5» имеют совершенно разные истории.
main ... v1.3.5

5 изменённых файлов: 72 добавлений и 162 удалений

1
.gitignore предоставленный
Просмотреть файл

@ -6,6 +6,7 @@ Gopkg.toml
.DS_Store .DS_Store
.idea .idea
.vscode
_artifacts _artifacts

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

@ -46,20 +46,18 @@ 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 := найтиТестовыйФайлВЭтойДире() _, err = os.Stat(a.pkg_test_go_fname)
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)

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

@ -54,58 +54,6 @@
``` ```
Сценарий: Добавление шага, с другим тестовым файлом
Дано Файл "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 Сценарий: Добавление шага с параметрами: int
Дано Файл "init_test.go": Дано Файл "init_test.go":
``` ```

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

@ -1,19 +1,10 @@
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,7 +5,6 @@ import (
"go/ast" "go/ast"
"os" "os"
"path/filepath" "path/filepath"
"strings"
"time" "time"
"errors" "errors"
@ -46,33 +45,6 @@ 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()