例如,我這里有這個測試assert.Contains(t, "HELLO WORLD", "hello world)我希望它返回true。顯然,我可以事先用strings.TrimSpace()、strings.ReplaceAll()和清理字符串。strings.ToLower()雖然當我有幾十個這樣的東西時它會變得很麻煩。有沒有更清潔的方法來實現這一目標?或者我可以修改或創建自定義的assert.NormalizedContains()嗎?謝謝你的反饋!
1 回答

慕森卡
TA貢獻1806條經驗 獲得超8個贊
您可以創建一個func normalize(s string) string并將其與 一起使用assert.Contains,例如:
func normalize(s string) string {
return strings.ToLower(strings.Join(strings.Fields(s), ""))
}
func TestFoo(t *testing.T) {
assert.Contains(t, normalize("HELLO WORLD"), "hello world")
// or you might want to normalize both:
assert.Contains(t, normalize("HELLO WORLD"), normalize("hello world"))
}
如果你真的經常這樣做,你可以創建一個自定義func assertNormalizedContains(t *testing.T, haystack, needle string)并使用它而不是assert.Contains. 盡管我認為這還不是很清楚。
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消