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

时间:2016-03-08 05:32:37

标签: java testng

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

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

我收到此错误:

  

java.lang.AssertionError:类型不是特别辣的预期[Extra Spicy]   但发现[Extra Spicy]
  预计:额外的辛辣
  实际:额外辣味

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

2 个答案:

答案 0 :(得分:5)

Assert.assertSame使用==运算符,它检查两个对象是否是同一个对象(具有相同的引用)。

我认为你想使用Assert.assertEquals使用equals()方法,检查两个对象的是否相等。

JUnit在他们的github上有一些非常有用的例子:

https://github.com/junit-team/junit/wiki/Assertions

答案 1 :(得分:0)

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

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

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