java - 如何进行单元测试以检查日期时间的格式?

标签 java android unit-testing

我的 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/

相关文章:

java - 如何在二维数组中添加相邻单元格?

java - 如何在 Spring MVC JavaEE 中重定向到另一个站点

java - 预期的?注入(inject)生产者的 CDI 请求作用域 bean 注入(inject)依赖 bean 给出 WELD-001303 : No active contexts

java - 访问 JSON 对象中的值

java - 键盘上的 Control 键 + M 可触发 SWT 中树项目的双击功能

android - 当我在android studio中运行项目时,任务transformClassesWithJavaResourcesVerifierForDebug的执行失败

java - FirebaseRecyclerAdapter 抛出空对象

javascript - React-testing-library:因输入而改变

angular - 错误 : Expected no open requests, 找到 1

visual-studio - 从NuGet安装NUnit之后,如何强制TestDriven.Net使用NuGet引用的NUnit dll?