From faf605de73747aa0f7ddf708c1fd0387495d7464 Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Tue, 10 Aug 2021 10:52:45 -0300 Subject: [PATCH] refactor: improve test Signed-off-by: Carlos Alexandro Becker --- env_test.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/env_test.go b/env_test.go index f6b5b83..fd94992 100644 --- a/env_test.go +++ b/env_test.go @@ -1322,21 +1322,23 @@ func TestCustomTimeParser(t *testing.T) { } func TestRequiredIfNoDefOption(t *testing.T) { - is := is.New(t) - type config struct { Name string `env:"NAME"` Genre string `env:"GENRE" envDefault:"Unknown"` } - var cfg config - is.NoErr(Parse(&cfg)) - isErrorWithMessage(t, Parse(&cfg, Options{RequiredIfNoDef: true}), `env: required environment variable "NAME" is not set`) - os.Setenv("NAME", "John") - defer os.Clearenv() - // should not trigger an error for the missing 'GENRE' env because it has a default value. - is.NoErr(Parse(&cfg, Options{RequiredIfNoDef: true})) + t.Run("missing", func(t *testing.T) { + isErrorWithMessage(t, Parse(&cfg, Options{RequiredIfNoDef: true}), `env: required environment variable "NAME" is not set`) + }) + + t.Run("all set", func(t *testing.T) { + os.Setenv("NAME", "John") + t.Cleanup(os.Clearenv) + + // should not trigger an error for the missing 'GENRE' env because it has a default value. + is.New(t).NoErr(Parse(&cfg, Options{RequiredIfNoDef: true})) + }) } func isErrorWithMessage(tb testing.TB, err error, msg string) {