0
Я хотел бы проверить поведение функции, которая имеет разные типы поведения, в зависимости от того, в которой она выполняется, есть ли способ определить/смоделировать дату в specs2
?Как я могу проверить событие, вызванное датой в будущем, в specs2
Пример, как бы проверить следующее?
def dateDependingFunction:Boolean = currentDate > aSetDate
Я хотел бы, чтобы иметь возможность написать что-то вроде
"My Date depending functions" should{
// here somehow set a date fulfilling `currentDate > aSetDate`
"return true" in {
dateDependingFunction:Boolean must beBeEqualTo(true)
}
// here somehow set a date fulfilling `currentDate < aSetDate`
"return false" in {
dateDependingFunction:Boolean must beBeEqualTo(false)
}
}
Вы shiuld использовать сервис, который retutn текущее время и дразнить его в тестах , – talex
любой фрагмент кода? – John
В вашей 'dateDependingFunction' где-нибудь вы можете увидеть что-то вроде' System.timesCurrentMill() 'вы должны заменить его' timeService.getCurrentTime() '. В вашем тесте вы можете использовать mock-библиотеку, например 'Mockito', и инициализировать' timeService' с макетом. Я никогда не делал этого с вашей тестовой рамкой, поэтому я не могу дать вам ответ. Только намекайте, как это можно достичь. – talex