繁体   English   中英

JUnit 具有相同字符串的断言错误

[英]JUnit Assertion error with identical strings

我正在尝试制作一个测试用例来检查 Dropwizard Metric Meter 名称:这是代码:

@Test
public void getMeterName(){
  String metricsPrefix = "com.company.team";
  String tagSupplied = "tenant.db.table";
  String expectedMeterName = "com.company.team.tenant.db.table";

  assertSame(expectedMeterName,MetricRegistry.name(metricsPrefix,tagSupplied));
}

这是我得到的错误:

java.lang.AssertionError: expected same:<com.company.team.tenant.db.table> was not:<com.company.team.tenant.db.table>
Expected :com.company.team.tenant.db.table
Actual   :com.company.team.tenant.db.table

我在这里想念什么?

我在这里想念什么?

您正在测试的字符串是相等的,但不是相同的 object。

您在应该使用assertEquals的地方使用assertSame

这类似于使用==比较字符串的错误。

(另请参阅: 如何比较 Java 中的字符串?

使用 assertEquals()而不是 assertSame() 因为您不能将 assertSame() 与字符串一起使用。 .请参阅此JUnit 断言两个字符串是否相等

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM