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

Java 具有相同字符串的JUnit断言错误,java,testing,junit,dropwizard,metrics,Java,Testing,Junit,Dropwizard,Metrics,我正在尝试制作一个测试用例来检查Dropwizard公制仪表名称: 代码如下: @Test public void getMeterName(){ String metricsPrefix = "com.company.team"; String tagSupplied = "tenant.db.table"; String expectedMeterName = "com.company.team.tenant.db.table&q

我正在尝试制作一个测试用例来检查Dropwizard公制仪表名称: 代码如下:

@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
我错过了什么

我错过了什么

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

您正在使用AssertQuals,这与您应该使用AssertQuals的位置相同

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

另见:

我错过了什么

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

您正在使用AssertQuals,这与您应该使用AssertQuals的位置相同

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

另请参见:

使用assertEquals而不是assertSame,因为不能将assertSame用于字符串。 。请参阅此

使用assertEquals而不是assertSame,因为不能将assertSame与字符串一起使用。 .参考这个