runs tests with randomized scenario order, adds verbose mode
Этот коммит содержится в:
родитель
90b8d3bfe7
коммит
83675453b7
4 изменённых файлов: 23 добавлений и 6 удалений
|
@ -3,7 +3,7 @@ go:
|
||||||
- 1.5
|
- 1.5
|
||||||
- 1.6
|
- 1.6
|
||||||
- 1.7
|
- 1.7
|
||||||
- tip
|
- 1.8
|
||||||
|
|
||||||
go_import_path: github.com/DATA-DOG/godog
|
go_import_path: github.com/DATA-DOG/godog
|
||||||
|
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: test gherkin bump
|
.PHONY: test gherkin bump cover
|
||||||
|
|
||||||
VERS := $(shell grep 'const Version' -m 1 godog.go | awk -F\" '{print $$2}')
|
VERS := $(shell grep 'const Version' -m 1 godog.go | awk -F\" '{print $$2}')
|
||||||
|
|
||||||
|
@ -25,3 +25,8 @@ bump:
|
||||||
@sed -i.bak 's/$(VERS)/$(VERSION)/g' godog.go
|
@sed -i.bak 's/$(VERS)/$(VERSION)/g' godog.go
|
||||||
@sed -i.bak 's/$(VERS)/$(VERSION)/g' examples/api/version.feature
|
@sed -i.bak 's/$(VERS)/$(VERSION)/g' examples/api/version.feature
|
||||||
@find . -name '*.bak' | xargs rm
|
@find . -name '*.bak' | xargs rm
|
||||||
|
|
||||||
|
cover:
|
||||||
|
go test -race -coverprofile=coverage.txt
|
||||||
|
go tool cover -html=coverage.txt
|
||||||
|
rm coverage.txt
|
||||||
|
|
2
flags.go
2
flags.go
|
@ -35,7 +35,7 @@ var descRandomOption = "Randomly shuffle the scenario execution order.\n" +
|
||||||
|
|
||||||
// FlagSet allows to manage flags by external suite runner
|
// FlagSet allows to manage flags by external suite runner
|
||||||
func FlagSet(opt *Options) *flag.FlagSet {
|
func FlagSet(opt *Options) *flag.FlagSet {
|
||||||
descFormatOption := "How to format tests output. Available formats:\n"
|
descFormatOption := "How to format tests output. Built-in formats:\n"
|
||||||
// @TODO: sort by name
|
// @TODO: sort by name
|
||||||
for name, desc := range AvailableFormatters() {
|
for name, desc := range AvailableFormatters() {
|
||||||
descFormatOption += s(4) + "- " + colors.Yellow(name) + ": " + desc + "\n"
|
descFormatOption += s(4) + "- " + colors.Yellow(name) + ": " + desc + "\n"
|
||||||
|
|
|
@ -11,17 +11,29 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/DATA-DOG/godog/gherkin"
|
"github.com/DATA-DOG/godog/gherkin"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
status := RunWithOptions("godogs", func(s *Suite) {
|
format := "progress" // non verbose mode
|
||||||
|
concurrency := 4
|
||||||
|
|
||||||
|
for _, arg := range os.Args[1:] {
|
||||||
|
if arg == "-test.v=true" { // go test transforms -v option - verbose mode
|
||||||
|
format = "pretty"
|
||||||
|
concurrency = 1
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
status := RunWithOptions("godog", func(s *Suite) {
|
||||||
SuiteContext(s)
|
SuiteContext(s)
|
||||||
}, Options{
|
}, Options{
|
||||||
Format: "progress",
|
Format: format, // pretty format for verbose mode, otherwise - progress
|
||||||
Paths: []string{"features"},
|
Paths: []string{"features"},
|
||||||
Concurrency: 4,
|
Concurrency: concurrency, // concurrency for verbose mode is 1
|
||||||
|
Randomize: time.Now().UnixNano(), // randomize scenario execution order
|
||||||
})
|
})
|
||||||
|
|
||||||
if st := m.Run(); st > status {
|
if st := m.Run(); st > status {
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче