Как провести модульный тест, чтобы проверить формат даты и времени? - PullRequest
1 голос
/ 27 мая 2019

В моем приложении для Android можно выбрать дату и время, а затем отформатировать в строку в формате «ММ / ДД / ГГГГ ЧЧ: мм». Эта строка затем сохраняется в базе данных.

Я пытаюсь создать модульный тест, который проверяет, что дата и время хранятся в правильном формате, но я изо всех сил пытаюсь найти правильный метод для этого. Я пробовал это

@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 / ДД / ГГГГ ЧЧ: мм. Не уверен, как правильно построить этот тест

1 Ответ

1 голос
/ 27 мая 2019

Надеюсь, это сработает для вас.

Создайте в своей деятельности приведенный ниже метод.

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);

test: Fail

assertEquals (new MainActivity (). CheckDateFormat ("27.05.2009 10:06"), true);

test: True

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...