package service import ( "bytes" "strings" . "my/go-translator/pkg/testgodoglib" "github.com/cucumber/godog" . "github.com/onsi/gomega" ) type testData struct { src string } var ( t *testData ) func resetTestData() { t = &testData{} _ = Ω } func beforeSuite() { } func afterSuite() { } func beforeScenario() { resetTestData() } func afterScenario() { } // ----------------------- func исходник(src *godog.DocString) { t.src = src.Content } func результат(out *godog.DocString) { Compare_new(t.src, out.Content) } func Compare_new(source, expected string) { var in, out bytes.Buffer in.WriteString(source) service := NewService(&in, &out) err := service.Start() got := out.String() tgot, texpected := trim_new(got), trim_new(expected) // spew.Dump(got) ExpectWithOffset(1, err).NotTo(HaveOccurred()) ExpectWithOffset(1, tgot).To(Be(texpected)) } func trim_new(s string) string { s = strings.Replace(s, "\n", "", -1) s = strings.Replace(s, "\r", "", -1) s = strings.Replace(s, "\t", "", -1) return s } func Compare(source, expected string) { var in, out bytes.Buffer in.WriteString(source) service := NewService(&in, &out) err := service.Start() got := out.String() tgot, texpected := Trim(got), Trim(expected) // spew.Dump(tgot) ExpectWithOffset(1, err).NotTo(HaveOccurred()) ExpectWithOffset(1, tgot).To(Be(texpected)) } func Trim(s string) string { s = strings.Replace(s, " ", "", -1) s = strings.Replace(s, "\n", "", -1) s = strings.Replace(s, "\r", "", -1) s = strings.Replace(s, "\t", "", -1) return s }