如何检查 Google Truth 断言中的字符串相等性?
How to check String equality in Google Truth assertions?
Truth.assertThat(actual).matches(expected)
或 Truth.assertThat(actual).isEqualTo(expected)
?
docs 说 matches() 方法接受正则表达式形式的字符串,但不确定字符串文字是否也有效?这就是让我感到困惑的原因。
听起来您想要 isEqualTo(expected)
,它执行完全相等的断言。
如您所说,matches
接受正则表达式,它可以让您执行 assertThat("foo").matches("f.*")
之类的操作。但是正则表达式会干扰精确匹配。例如,assertThat("").matches("")
将失败,因为正则表达式中的 $
表示“字符串结尾”。但是 assertThat("").isEqualTo("")
会过去的。
Truth.assertThat(actual).matches(expected)
或 Truth.assertThat(actual).isEqualTo(expected)
?
docs 说 matches() 方法接受正则表达式形式的字符串,但不确定字符串文字是否也有效?这就是让我感到困惑的原因。
听起来您想要 isEqualTo(expected)
,它执行完全相等的断言。
如您所说,matches
接受正则表达式,它可以让您执行 assertThat("foo").matches("f.*")
之类的操作。但是正则表达式会干扰精确匹配。例如,assertThat("").matches("")
将失败,因为正则表达式中的 $
表示“字符串结尾”。但是 assertThat("").isEqualTo("")
会过去的。