У меня есть класс удобных методов, относящихся к DateTime, который получает такие вещи, как текущий год или текущий час.Я только что обновил все, чтобы использовать классы java.time. * И пытаюсь написать хорошие тесты JUnit 5, чтобы убедиться, что они работают правильно.
Мне, очевидно, нужно определить ожидаемый результат, чтобы сравнить его с каждым фактическим результатом, но у меня возникают проблемы с поиском хорошего способа вычисления ожидаемого результата.(Жесткое кодирование ожидаемого значения не очень удовлетворительно для значений, таких как текущий час, минута или секунда, и даже большие единицы, такие как день, проблематично, если я не проведу тестирование в день, указанный в ожидаемых результатах.)
Мои методы основаны на методе LocalDate.now (), поэтому бессмысленно вычислять ожидаемые результаты одним и тем же методом;это может только доказать, что ожидаемые и фактические результаты совпадают, но ОБА неверны.Это разумное возражение?
Если это так, то как рассчитать ожидаемые результаты?Многие из старых классов даты и времени в значительной степени устарели, и каждый знает об их недостатках.Должен ли я в любом случае использовать их и надеяться, что ни один из этих недостатков не даст мне ложных или отрицательных результатов?
Или есть лучший способ продолжить?