godog/internal/flags/flags_test.go
2020-07-07 21:13:25 +02:00

64 строки
1,6 КиБ
Go

package flags_test
import (
"testing"
"github.com/spf13/pflag"
"github.com/stretchr/testify/assert"
"github.com/cucumber/godog/internal/flags"
)
func Test_BindFlagsShouldRespectFlagDefaults(t *testing.T) {
opts := flags.Options{}
flagSet := pflag.FlagSet{}
flags.BindRunCmdFlags("optDefaults.", &flagSet, &opts)
flagSet.Parse([]string{})
assert.Equal(t, "pretty", opts.Format)
assert.Equal(t, "", opts.Tags)
assert.Equal(t, 1, opts.Concurrency)
assert.False(t, opts.ShowStepDefinitions)
assert.False(t, opts.StopOnFailure)
assert.False(t, opts.Strict)
assert.False(t, opts.NoColors)
assert.Equal(t, int64(0), opts.Randomize)
}
func Test_BindFlagsShouldRespectFlagOverrides(t *testing.T) {
opts := flags.Options{
Format: "progress",
Tags: "test",
Concurrency: 2,
ShowStepDefinitions: true,
StopOnFailure: true,
Strict: true,
NoColors: true,
Randomize: 11,
}
flagSet := pflag.FlagSet{}
flags.BindRunCmdFlags("optOverrides.", &flagSet, &opts)
flagSet.Parse([]string{
"--optOverrides.format=junit",
"--optOverrides.tags=test2",
"--optOverrides.concurrency=3",
"--optOverrides.definitions=false",
"--optOverrides.stop-on-failure=false",
"--optOverrides.strict=false",
"--optOverrides.no-colors=false",
"--optOverrides.random=2",
})
assert.Equal(t, "junit", opts.Format)
assert.Equal(t, "test2", opts.Tags)
assert.Equal(t, 3, opts.Concurrency)
assert.False(t, opts.ShowStepDefinitions)
assert.False(t, opts.StopOnFailure)
assert.False(t, opts.Strict)
assert.False(t, opts.NoColors)
assert.Equal(t, int64(2), opts.Randomize)
}