Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过单元测试来检查datetime的格式?_Java_Android_Unit Testing - Fatal编程技术网

Java 如何通过单元测试来检查datetime的格式?

Java 如何通过单元测试来检查datetime的格式?,java,android,unit-testing,Java,Android,Unit Testing,我的android应用程序提供了选择日期和时间的选项,然后将其格式化为格式为“MM/DD/YYYY HH:MM”的字符串。然后将该字符串存储在数据库中 我正在尝试创建一个单元测试,测试日期和时间是否以正确的格式存储,但我正在努力找到正确的方法。我试过这个 @Test public void testDateTimeFormat() { DateActivity dateActivity = new DateActivity(); Calendar currentDateTime

我的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:MM的格式。不确定如何正确构建此测试

我希望这对您有用

在活动中创建以下方法

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(新的MainActivity().checkDateFormat(“28/05/2019 10:06”),正确)

测试:失败

assertEquals(新的MainActivity().checkDateFormat(“05/27/2019 10:06”),正确)


测试:正确

您正在进行仪器测试吗?DateActivity正在扩展Appcompat,对吗?@notTdar否我正在尝试设置单元测试。我对这样的测试是新手,所以我可能做得不正确。是的,DateActivity正在扩展AppCompatOK,如果没有插装测试,您不能使用activity/fragment或View的实例,您只能测试不扩展任何android相关组件的Java类。@notTdar谢谢,我很感激。我会考虑找到另一个解决方案祝你好运,“机器人分子”你可以探索它。