我的 android 应用程序提供了选择日期和时间的选项,然后将其格式化为格式为“MM/DD/YYYY HH:mm”的字符串。然后将该字符串存储在数据库中。
我正在尝试创建一个单元测试来测试日期和时间是否以正确的格式存储,但我正在努力寻找正确的方法来执行此操作。这个我试过了
@Test
public void testDateTimeFormat() {
DateActivity dateActivity = new DateActivity();
Calendar currentDateTime = Calendar.getInstance();
Assert.assertEquals( dateActivity.showDateTime(currentDateTime), "MM/DD/YYYY HH:mm");
方法 showDateTime 被提供当前日期和时间,它应该以正确的格式返回它。我尝试使用 assert equals 来比较这两者以表明它的格式正确但它似乎没有正确比较它,它只是说它们不一样,它没有检测 MM/DD/YYYY HH:毫米。不确定如何正确构建此测试
最佳答案
我希望这对你有用。
在您的 Activity 中创建以下方法。
public boolean checkDateFormat(String s) {
SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/YYYY HH:MM");
Date date1 = new Date(s);
s = formatter.format(date1);
Date date = new Date();
String strDate = formatter.format(date);
System.out.println(strDate);
System.out.println(s);
if (s.equals(strDate)) {
return true;
} else {
return false;
}
}
单元测试代码如下
@Test
public void isDateFormat() throws Exception {
assertEquals(new MainActivity().checkDateFormat("27/05/2019 10:06"),true);
}
如果您提供的字符串匹配则测试将通过,否则将失败。
assertEquals(new MainActivity().checkDateFormat("28/05/2019 10:06"),true);
测试:失败
assertEquals(new MainActivity().checkDateFormat("05/27/2019 10:06"),true);
测试:真
关于java - 如何进行单元测试以检查日期时间的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56319592/