Как использовать hamcrest nullValue с выводом типа в assertThat - PullRequest
0 голосов
/ 14 июля

Мне нужно написать тестовый пример, используя junit 5 и assertThat, чтобы проверить нулевое значение.

Я написал, как показано ниже. Однако это дает ошибку в отношении несоответствия типа данных.

введите описание изображения здесь

    @Test
    void shouldReturnNull() {
        assertThat(OffsetDateTimeConverter.toOffsetDateTime(null), nullValue(OffsetDateTime.class));
    }

Тоже пробовал. Однако снова та же ошибка.

    @Test
    void shouldReturnNull() {
        assertThat(OffsetDateTimeConverter.toOffsetDateTime(null), is(nullValue(OffsetDateTime.class)));
    }

Любой пример / предложение, как использовать nullValue (тип T), чтобы исправить эту проблему?

Мне нужно написать тестовый пример, где я может проверить, правильно ли java. sql .Date преобразовано в java .time.OffsetDateTime, используя мой класс Converter. Следовательно, я написал, как показано ниже.

@Test
    void toOffsetDateTime() {
        Date date = new Date(System.currentTimeMillis());
        assertThat(date.toLocalDate()).isEqualTo(OffsetDateTimeConverter.toOffsetDateTime(date).toLocalDate());
    }

Вышеупомянутый тестовый пример работает нормально.

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

1 Ответ

0 голосов
/ 14 июля

Мне кажется, вы используете неправильный метод assertThat.

Вы используете метод assertThat из assertj, где вы должны использовать Hamcrest. Например: org.hamcrest.MatcherAssert.assertThat

...