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

Sat*_*Raj 1 java testing junit metrics dropwizard

我正在尝试制作一个测试用例来检查 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));
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

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
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

Ste*_*n C 5

我在这里缺少什么?

您正在测试的字符串相等但不是同一个对象。

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

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

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