例如,我这里有这个测试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 关注
- 172 浏览
添加回答
举报
0/150
提交
取消
