- Преобразование строки TimeStamp в миллисекунд из Epoch < /li>
Использование Scala Язык с библиотеками Java - Модульный тест
code
function (Inside Utils Class)
def stringToMillis(inputString: String): Long = {
// input date string and its formatter
val formatter = DateTimeFormatter.ofPattern("M/d/yyyy h:mm:ss a")
val localTime = LocalDateTime.parse(inputString, formatter)
val zonedTime = localTime.atZone(ZoneOffset.UTC)
zonedTime.toInstant.toEpochMilli
test
val currentTime = Instant.now
val expected = currentTime.toEpochMilli
val formatter =
DateTimeFormatter.ofPattern("M/d/yyyy h:mm:ss a").withZone(ZoneId.of("UTC"))
val timestamp = formatter.format(currentTime)
val actual = Utils.stringToMillis(timestamp) // Testing function defined above
actual should be ( expected )
Пример ошибки
1739424250000 was not equal to 1739424250305
Вопрос
Существует небольшая разница, и, следовательно, тестовый случай не сбои. Это ожидается? Есть ли какая -нибудь работа? val difference = Math.abs(expected - actual)
difference should be < 1000L // less than 1 second
Подробнее здесь: https://stackoverflow.com/questions/794 ... java-scala