Java 比较两个失败的字符串断言

Java 比较两个失败的字符串断言,java,testng,Java,Testng,这真的很奇怪,我试图断言两个字符串是相等的,它失败了,即使看起来是一样的 Assert.assertSame("Extra Spicy", type, "type is not extra spicy"); 我得到这个错误: java.lang.AssertionError:类型不应为extra Spice[extra Spice] 但发现[特别辣] 预期:特别辣 实际:特别辣 一切都匹配,为什么会失败?Assert.assertSame使用=操作符,检查两个对象是否是相同的对象(具有

这真的很奇怪,我试图断言两个字符串是相等的,它失败了,即使看起来是一样的

    Assert.assertSame("Extra Spicy", type, "type is not extra spicy");
我得到这个错误:

java.lang.AssertionError:类型不应为extra Spice[extra Spice] 但发现[特别辣]
预期:特别辣
实际:特别辣


一切都匹配,为什么会失败?

Assert.assertSame
使用
=
操作符,检查两个对象是否是相同的对象(具有相同的引用)

我想您应该使用
Assert.assertEquals
,它使用
equals()
方法,检查两个对象的值是否相等

JUnit在其github上有一些非常有用的示例:


断言两个对象引用同一对象的断言相同。如果他们 与抛出的断言FailedError不同

您还可以按如下方式检查相等性

    Assert.assertEquals("Extra Spicy", "type is not extra spicy");

你在使用JUnit吗?除了最新版本的JUnit之外,我不太熟悉,但我相信自定义消息参数“type is not extra spirk”应该是第一个。是吗?谢谢……不知为什么,我认为它的作用正好相反