Assert语句Assert.assertSame失败

jla*_*s62 3 java junit assert intellij-idea

我在junit测试用例中有以下代码.第一个Assert通过,第二个失败.

final int code = webResponse.getResponseCode();
Assert.assertTrue(200 == code);  //passes
Assert.assertSame(200, code);    //fails
Run Code Online (Sandbox Code Playgroud)

为什么第二个失败?webResponse是WebResponse类型,getResponseCode的所有实现都返回一个int.

我在junit测试中运行代码,第二个断言在Intellij和Eclipse IDE中都失败了.此外,在Intellij中,它提供了"点击查看差异"的链接,但是当我点击它时,它显示"内容相同".

Sot*_*lis 9

assertSame(Object, Object) 检查两个参数是否引用同一个对象.

它执行装箱转换以转换200为有效的引用类型对象.要做到这一点,它确实如此

Integer.valueOf(200);
Run Code Online (Sandbox Code Playgroud)

和

Integer.valueOf(code);
Run Code Online (Sandbox Code Playgroud)

返回不引用同一对象的新对象引用.