Комментарии 7
Добрый день. Спасибо за статью!
Есть небольшие замечания по коду, напрямую не относящиеся к содержанию статьи.
В методе mapToNewsViewData(news: List<News>)
на каждой итерации создается объект Regex
и DateFormat
, хотя по сути они для всех одинаковы. В дополнение к этому заполнение итогового списка выглядело бы лучше (читабильнее) при использовании stream подхода. Например, так:
class NewsMapper {
companion object {
private val dateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm", Locale("ru"))
private val regex = "\\.".toRegex()
}
fun mapToNewsViewData(news: List<News>): List<NewsViewData> {
return news.asSequence()
.map {
val textSplits = it.text.split(regex)
NewsViewData(
id = it.date.toString(),
title = textSplits[0],
description = textSplits[1].trim(),
date = dateFormat.format(it.date)
)
}
.toList()
}
}
0
В одном тесте делать несколько assert не рекомендуется
0
Можно еще тест mapToNewsViewData сделать параметризованным, чтобы не на hardcoded значениях проверять, а на разных, в том числе замысловатых.
А там и до property based tests недалеко.
А там и до property based tests недалеко.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как при помощи 2 видов unit-тестов сделать приложение более стабильным