История изменений
Исправление
vertexua,
(текущая версия)
:
Чистые функциональные языки потенциально должны быть более тестируемыми. Потенциально, но вопрос правильно поставлен. Тем более как мы подключаем компонент? Если передаем как параметр в функции, то вопрос с mockом отпадает, все просто. Но делаем ли мы так, это же не совсем удобно? Как организовать удобство работы?
Можно везде захардкодить функцию, которая дает нам нужный компонент и мы получает плохо пахнущий глобальный синглтон. Теперь все зависит от того, позволяет ли наша платформа заменить определенную в основном коде функцию mockом. Позволяет - хорошо. Такой вариант все же не идеален, так как нет удобного способа увидеть зависимости компонента, им воспользоваться могут где угодно и как угодно. Вообще не понятно, какие компоненты используются в коде, какие из них надо заменить на mocks
Может кто-то просветит как пишут и тестируют большие приложения? Обычно для Haskell и подобных любая статья рассматривает какой-то примитивный замкнутый кусок программы или очень простую программу
Исходная версия
vertexua,
:
Чистые функциональные языки потенциально должны быть более тестируемыми. Потенциально, но вопрос правильно поставлен. Тем более как мы подключаем компонент? Если передаем как параметр в функции, то вопрос с mockом отпадает, все просто. Но делаем ли мы так, это же не совсем удобно? Как организовать удобство работы?
Можно везде захардкодить функцию, которая дает нам нужный компонент и мы получает плохо пахнущий глобальный синглтон. Теперь все зависит от того, позволяет ли наша платформа заменить определенную в основном коде функцию mockом. Позволяет - хорошо. Такой вариант все же не идеален, так как нет удобного способа увидеть зависимости компонента, им воспользоваться могут где угодно и как угодно. Вообще не понятно, какие компоненты используются в коде, какие из них надо заменить на mocks