LINUX.ORG.RU

История изменений

Исправление vertexua, (текущая версия) :

Чистые функциональные языки потенциально должны быть более тестируемыми. Потенциально, но вопрос правильно поставлен. Тем более как мы подключаем компонент? Если передаем как параметр в функции, то вопрос с mockом отпадает, все просто. Но делаем ли мы так, это же не совсем удобно? Как организовать удобство работы?

Можно везде захардкодить функцию, которая дает нам нужный компонент и мы получает плохо пахнущий глобальный синглтон. Теперь все зависит от того, позволяет ли наша платформа заменить определенную в основном коде функцию mockом. Позволяет - хорошо. Такой вариант все же не идеален, так как нет удобного способа увидеть зависимости компонента, им воспользоваться могут где угодно и как угодно. Вообще не понятно, какие компоненты используются в коде, какие из них надо заменить на mocks

Может кто-то просветит как пишут и тестируют большие приложения? Обычно для Haskell и подобных любая статья рассматривает какой-то примитивный замкнутый кусок программы или очень простую программу

Исходная версия vertexua, :

Чистые функциональные языки потенциально должны быть более тестируемыми. Потенциально, но вопрос правильно поставлен. Тем более как мы подключаем компонент? Если передаем как параметр в функции, то вопрос с mockом отпадает, все просто. Но делаем ли мы так, это же не совсем удобно? Как организовать удобство работы?

Можно везде захардкодить функцию, которая дает нам нужный компонент и мы получает плохо пахнущий глобальный синглтон. Теперь все зависит от того, позволяет ли наша платформа заменить определенную в основном коде функцию mockом. Позволяет - хорошо. Такой вариант все же не идеален, так как нет удобного способа увидеть зависимости компонента, им воспользоваться могут где угодно и как угодно. Вообще не понятно, какие компоненты используются в коде, какие из них надо заменить на mocks