使用 JUnit 4.12 和 AndroidStudio 我正在尝试测试以下方法 结果似乎匹配 我不知道为什么我得到了结果
java.lang.AssertionError
待测方法:
public String dateNow() {
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy_hh-mm-ss");
String date = sdf.format(new Date());
return date;
}
我的测试类:
private Addons mAddons;
@Before
public void setUp() throws Exception{
mAddons = new Addons();
}
@Test
public void testDateNow() throws Exception {
final String reality = mAddons.dateNow().substring(0,10);
final String expected = "09-08-2017";
assertSame("testDateNow() :", expected, reality);
}
控制台输出:
java.lang.AssertionError: testDateNow() : expected same:<09-08-2017> was not:<09-08-2017>
Expected :09-08-2017
Actual :09-08-2017
我不知道为什么会失败。任何人都愿意为我指明正确的方向吗?
最佳答案
assertSame 检查两个参数是否是同一个对象。他们不是。
如果你想检查它们是否有相同的内容,你应该使用 assertEquals 代替。
关于java - 测试 SimpledateFormat 时的 JUnit AssertionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45592405/