package rconfig import ( "time" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" ) var _ = Describe("Duration", func() { type t struct { Test time.Duration `flag:"duration"` TestS time.Duration `flag:"other-duration,o"` TestDef time.Duration `default:"30h"` } var ( err error args []string cfg t ) BeforeEach(func() { cfg = t{} args = []string{ "--duration=23s", "-o", "45m", } }) JustBeforeEach(func() { err = parse(&cfg, args) }) It("should not have errored", func() { Expect(err).NotTo(HaveOccurred()) }) It("should have the expected values", func() { Expect(cfg.Test).To(Equal(23 * time.Second)) Expect(cfg.TestS).To(Equal(45 * time.Minute)) Expect(cfg.TestDef).To(Equal(30 * time.Hour)) }) })