java - 比较两个字符串失败断言

标签 java testng

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

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

我收到这个错误:

java.lang.AssertionError: type is not extra spicy expected [Extra Spicy] but found [Extra Spicy]
Expected :Extra Spicy
Actual :Extra Spicy

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

最佳答案

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

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

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

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

关于java - 比较两个字符串失败断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35859741/

相关文章:

java - 验证对象参数

testng - 如何告诉 Gradle 使用我的 testng.xml 文件进行测试类和排序?

java - 为什么我无法在 TestNG 中调试我的代码

testng - 在 TestNG 中处理断言

java - java中通过Socket进行文件传输

java - 创建多个具有相同属性的 HBox

java - 更改 Maven 结构( src/java 到 src/Javasource)

java - Spring Batch 决策者没有重复

java - TestNG,Selenium如何在多个类之间共享对象

gradle - gradle运行TestNG测试原因 “Error occurred during initialization of VM”