Когда мы делаем наши тестовые макеты для UnitTesting, если нам действительно нужно, мы обычно создаем макеты в DummyFactory, которые будут генерировать необходимые по одному для каждого метода:
class PaymentsDummyFactory {
fun dummyForSucces(): MyClass { ... }
fun dummyForError(): MyClass { ... }
fun dummyForGetCards(): MyOtherClass { ... }
..etc
}
Я недавно видел кого-то поместите каждый макет в отдельный класс и отдельный файл , например:
SuccessPaymentDummy.kt
class SuccessPaymentDummy: Mockeable <MyClass> () {
override fun mock() : MyClass {
...
}
}
ErroedPaymentDummy.kt
class ErroedPaymentDummy: Mockeable <MyClass> () {
override fun mock() : MyClass {
...
}
}
GetCardsForPaymentDummy.kt
class GetCardsForPaymentDummy: Mockeable <MyOtherClass> () {
override fun mock() : MyOtherClass {
...
}
}
Я считаю, что это плохая практика:
- Прежде всего, я думаю, что интерфейс
Mockeable
тупой, потому что я не вижу необходимости в интерфейсе манекена с generi c, кроме "соглашения" для метода naming - Есть ли реальное неудобство при создании большего количества файлов и новых классов? Я имею в виду, это влияет на время компиляции или индексирования или размер файла? Я хочу получить факты, прежде чем я действительно установлю позу против этой практики.