require godog contexts to be exported
Этот коммит содержится в:
родитель
2772b1df34
коммит
4610466f82
7 изменённых файлов: 20 добавлений и 9 удалений
|
@ -157,7 +157,7 @@ func thereShouldBeRemaining(remaining int) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
s.Step(`^there are (\d+) godogs$`, thereAreGodogs)
|
s.Step(`^there are (\d+) godogs$`, thereAreGodogs)
|
||||||
s.Step(`^I eat (\d+)$`, iEat)
|
s.Step(`^I eat (\d+)$`, iEat)
|
||||||
s.Step(`^there should be (\d+) remaining$`, thereShouldBeRemaining)
|
s.Step(`^there should be (\d+) remaining$`, thereShouldBeRemaining)
|
||||||
|
|
12
builder.go
12
builder.go
|
@ -12,6 +12,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
var godogImportPath = "github.com/DATA-DOG/godog"
|
var godogImportPath = "github.com/DATA-DOG/godog"
|
||||||
|
@ -215,5 +216,16 @@ func processPackageTestFiles(packs ...[]string) ([]string, error) {
|
||||||
ctxs = append(ctxs, astContexts(node)...)
|
ctxs = append(ctxs, astContexts(node)...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
var failed []string
|
||||||
|
for _, ctx := range ctxs {
|
||||||
|
runes := []rune(ctx)
|
||||||
|
if unicode.IsLower(runes[0]) {
|
||||||
|
expected := append([]rune{unicode.ToUpper(runes[0])}, runes[1:]...)
|
||||||
|
failed = append(failed, fmt.Sprintf("%s - should be: %s", ctx, string(expected)))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if len(failed) > 0 {
|
||||||
|
return ctxs, fmt.Errorf("godog contexts must be exported:\n\t%s", strings.Join(failed, "\n\t"))
|
||||||
|
}
|
||||||
return ctxs, nil
|
return ctxs, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ func (a *apiFeature) theResponseShouldMatchJSON(body *gherkin.DocString) (err er
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
api := &apiFeature{}
|
api := &apiFeature{}
|
||||||
|
|
||||||
s.BeforeScenario(api.resetResponse)
|
s.BeforeScenario(api.resetResponse)
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"net/http/httptest"
|
"net/http/httptest"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/DATA-DOG/go-txdb"
|
|
||||||
"github.com/DATA-DOG/godog"
|
"github.com/DATA-DOG/godog"
|
||||||
"github.com/DATA-DOG/godog/gherkin"
|
"github.com/DATA-DOG/godog/gherkin"
|
||||||
)
|
)
|
||||||
|
@ -118,7 +117,7 @@ func (a *apiFeature) thereAreUsers(users *gherkin.DataTable) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
api := &apiFeature{}
|
api := &apiFeature{}
|
||||||
|
|
||||||
s.BeforeScenario(api.resetResponse)
|
s.BeforeScenario(api.resetResponse)
|
||||||
|
|
|
@ -26,7 +26,7 @@ func thereShouldBeRemaining(remaining int) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
s.Step(`^there are (\d+) godogs$`, thereAreGodogs)
|
s.Step(`^there are (\d+) godogs$`, thereAreGodogs)
|
||||||
s.Step(`^I eat (\d+)$`, iEat)
|
s.Step(`^I eat (\d+)$`, iEat)
|
||||||
s.Step(`^there should be (\d+) remaining$`, thereShouldBeRemaining)
|
s.Step(`^there should be (\d+) remaining$`, thereShouldBeRemaining)
|
||||||
|
|
|
@ -28,7 +28,7 @@ Feature: undefined step snippets
|
||||||
return godog.ErrPending
|
return godog.ErrPending
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
s.Step(`^I send "([^"]*)" request to "([^"]*)"$`, iSendRequestTo)
|
s.Step(`^I send "([^"]*)" request to "([^"]*)"$`, iSendRequestTo)
|
||||||
s.Step(`^the response code should be (\d+)$`, theResponseCodeShouldBe)
|
s.Step(`^the response code should be (\d+)$`, theResponseCodeShouldBe)
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ Feature: undefined step snippets
|
||||||
return godog.ErrPending
|
return godog.ErrPending
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
s.Step(`^I send "([^"]*)" request to "([^"]*)" with:$`, iSendRequestToWith)
|
s.Step(`^I send "([^"]*)" request to "([^"]*)" with:$`, iSendRequestToWith)
|
||||||
s.Step(`^the response code should be (\d+) and header "([^"]*)" should be "([^"]*)"$`, theResponseCodeShouldBeAndHeaderShouldBe)
|
s.Step(`^the response code should be (\d+) and header "([^"]*)" should be "([^"]*)"$`, theResponseCodeShouldBeAndHeaderShouldBe)
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ Feature: undefined step snippets
|
||||||
return godog.ErrPending
|
return godog.ErrPending
|
||||||
}
|
}
|
||||||
|
|
||||||
func featureContext(s *godog.Suite) {
|
func FeatureContext(s *godog.Suite) {
|
||||||
s.Step(`^I pull from github\.com$`, iPullFromGithubcom)
|
s.Step(`^I pull from github\.com$`, iPullFromGithubcom)
|
||||||
s.Step(`^the project should be there$`, theProjectShouldBeThere)
|
s.Step(`^the project should be there$`, theProjectShouldBeThere)
|
||||||
}
|
}
|
||||||
|
|
2
fmt.go
2
fmt.go
|
@ -30,7 +30,7 @@ var undefinedSnippetsTpl = template.Must(template.New("snippets").Funcs(snippetH
|
||||||
return godog.ErrPending
|
return godog.ErrPending
|
||||||
}
|
}
|
||||||
|
|
||||||
{{end}}func featureContext(s *godog.Suite) { {{ range . }}
|
{{end}}func FeatureContext(s *godog.Suite) { {{ range . }}
|
||||||
s.Step({{ backticked .Expr }}, {{ .Method }}){{end}}
|
s.Step({{ backticked .Expr }}, {{ .Method }}){{end}}
|
||||||
}
|
}
|
||||||
`))
|
`))
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче