2015-10-15 3 views
3

Я бы хотел проверить, если java.time.LocalDate находится в фиксированном количестве дней с датой тестирования, и я бы хотел, если возможно, использовать совпадения Hamcrest. Есть ли подходящие для Hamcrest (java) помощники для работы с Датами?Hamcrest Matchers for Java 8 LocalDate

ответ

6

Существует библиотека расширений даты для hamcrest, hamcrest-date, которая может соответствовать LocalDate, LocalDateTime, ZoneDateTime и Date. Для сравнения, если LocalDate находится в пределах нескольких дней после даты тестирования вы можете использовать этот синтаксис:

import java.time.LocalDate; 
import java.time.Month; 
import java.time.temporal.ChronoUnit; 
import org.exparity.hamcrest.date.LocalDateMatchers; 
import org.hamcrest.MatcherAssert; 
import org.junit.Test; 

public class LocalDateTest { 
    @Test 
    public void isDate() { 
    LocalDate actual = LocalDate.now(); 
    LocalDate expected = LocalDate.of(2015, Month.OCTOBER, 15); 
    MatcherAssert.assertThat(actual, 
      LocalDateMatchers.within(5, ChronoUnit.DAYS, expected)); 
    } 
} 

Библиотека может быть включена в вас, добавив эту зависимость к вашему П.

<dependency> 
    <groupId>org.exparity</groupId> 
    <artifactId>hamcrest-date</artifactId> 
    <version>2.0.1</version> 
</dependency> 

Проект размещен на GitHub в https://github.com/eXparity/hamcrest-date

Смежные вопросы