Адвентисты Седьмого Теста
theiced — 04.10.2013 Нет ну реально заебали. Вконец. Блядская секта, похуже хрестанутых. Что характерно, в секте состоит в основном всякая тупая копчёная индусня и прочие говноеды. При этом они считают всех не разделяющих их пидорастическую религию убогими, жалкими и недостойными называться программистами.Я понимаю что объяснять что то фанатикам бесполезно, но всё же. А вдруг. Почему тесты говно? Тут есть несколько причин.
1. Чуть более чем всегда тестируют то что тестировать вхуй не впилось. Вплоть до:
def add(a, b) a + b end
2. Тесты эти практически всегда сложнее кода который они должны тестировать.
test 'add' class NumberFactory def self.produce_number(range) rand(range) end end assert(add(1, 1) == 2, 'я') assert(add(1, -1) == 0, 'тупое') assert(add(-1, -1) == -2, 'уёбище') assert(add(10, 20) == 30, 'годное') assert(add(10, -20) == -10, 'исключительно') assert(add(-10, -20) == -30, 'на') assert(add(1, 1) != 3, 'метан') 100.times do |x| number_one = NumberFactory.produce_number(x + 1) number_two = NumberFactory.produce_number(x + 1) assert(add(number_one, number_two) == number_one + number_two, 'я мечтаю что бы меня трахнул чёрный властелин') end end
Я не шучу - 99% тестов выглядят примерно так и несут такую же пользу. Очень жаль, тупое говноедище (см. ссылку выше) закрыло все свои посты, там был реальный пример функции которая возвращал толи захардкоженую строку, толи к ней прицепляла параметр, чота такое. И адовые тесты на это с использованием каких то дичайших либ чота там делающих с байткодом и прочим пиздецом. Я не шучу.
3. Они дают ложное ощущение безопасности. Тесты прошли? Хуяк-хуяк и в продакшн. Ничего же плохого случиться не может. Кстати, вариант что тесты не учитывают все случаи или содержат ошибку не рассматривается вообще. Никогда. Когда с ебанашками пытаешься говорить на эту тему у них та куча поноса больного бешенством кенгуру, которая заменяет им мозг, начинает бурлить и никакого конструктивного диалога не получается.
4. Они отучают программистов думать. Нахуя думать если есть тесты? Тесты прошли - всё заебись. Не прошли - будем подгонять код под тесты. Этот пункт коррелирует с предыдущим. Нет смысла как то ещё проверять код при пройденных тестах (ну в смысле это пидорасики так считают).
5. Замечена закономерность. Чем больше тестов - тем меньше отладочных логов. А вот как разбираться с дейтсвительно хуёвым случаем когда раз в неделю в продакшне рандомно идёт по пизде целостность данных? Тесты тут ничем и никогда не помогут. Ну и да - тестами нереально оттестировать что нибудь сложное, когда 100500 процессов/потоков и данные хуярят гигабайтами в минуту.
Ну вот как то так. Возникает закономерный вопрос: чо, тесты не писать? Да нет - писать. Только правильные, функциональные, тесты. То есть пустить тестируемое приложение, накормить его реальными данными, дёрнуть типичные вокфловы и сравнить полученный результат с эталонным. Да - оно не покажет конкретного места где сломалось. Но серьёзно - оно вам надо? Вы не сможете найти в вашем коммите (ну или в более сложном случае - в паре-тройке коммитов, при мерже) место в котором что то сломалось? Ну тогда идите работать в зоопарк, младшим помощником старшего уборщика кала африканской антилопы Вени, на большее у вас не хватает способностей.
Ситуация осложняется тем что эти тупопёздые пожиратели страусиного кала в подавляющем большинстве случаев страдают сопутствующими помешательствами - паттернодрочерство, хымыылефилия, энтерпрайз головного мозга и прочими.
Ебитесь раком (tm).
PS. Я реально в одном проекте видел тесты к тестам. Натурально. Моя жизнь уже никогда не будет прежней.
|
</> |