Много причин.
Например на RC ДВС используются карбюраторы, а для устойчивого работы ДВС на газу надо использовать инжекторы (скорее всего есть и инжекторные RC моторы, но я с ними не сталкивался). Для этого нужно намного больше датчиков (давления, температуры, положения коленвала и т.д.), кроме того жидкое топливо заливается в простой сосуд из пластмассы, а для газа нужен будет более толстостенный и тяжелый контейнер.
Да и работают обычно моторы не на бензине, а на нитрометане, и процесс работы больше похож на дизельный двигатель (свеча накала, компрессия и т.д.).
В принципе на RC с реальными бензиновыми моторами можно поставить газ, но, как мне кажется, это повлечет с собой очень много проблем.
Но почему вы решили, что я говорю только про юнит тесты? Из-за примера в посте? Я знаю, что есть разные виды тестов, но это всё равно не спасает (по крайней мере меня) от проблемы описанной в посте.
Например, частый случай для нас: мы написали часть приложения, клиент посмотрел его и понял, что ему надо не это. Он даже не спорит, что надо доплатить за переделку, но просит сделать по-быстрее, т.к. у него уже есть бизнес план и т.д. И мы переделываем эту часть. Причем сильно. Если было бы написано скажем 50 тестов, то 45 из них стали бы не нужны. Не просто красными, а именно не нужны. Но надо написать ещё 60 тестов на новую функциональность, которые опять окажутся не нужны по той же причине.
Я прекрасно понимаю, что это можно назвать рабочим процессом. Я вообще, как мне кажется, понимаю, как должно быть в идеальном случае. Я понимаю, как можно отступить от идеала (благодаря статьям).
Но вот только я не могу приспособить какой-нибудь метод для нашей ситуации. Но тут похоже всё просто. У нас не большие проекты и работает мало человек. По этой причине нет потребности в тестах. Но «я хочу писать тесты» :)
Ну было, конечно. Именно из-за этого я и написал заметку. Хочу тестировать, но не получается.
Да, видимо не понимаю. Не представляю, как это сделать в 7 строк.
Видимо, надо начинать писать тесты. Тогда может быть пойму.
Судя по Вашей статье вы пишите код ровно для того чтобы он отработал 1 раз и после его выбрасываете.
Нет, не выбрасываем. Я имел ввиду, что если ошибка была в том, что мы скачиваем изображение, его расширение jpeg, мы считаем, что это jpeg, а оно bmp внутри. То для этого случая можно написать тест. Но зачем, если в функции мы уже всё равно проверяем по содержимому?
запускаете отладчик и смотрите на соответствие выходных параметров ожидаемым. Тест может делать тоже самое
Да, конечно, всё так. Но я проверяю разными способами, в отладчике, в общем цикле работы, и т.д. Можно написать по 20 тестов для каждой функции, но жалко время, если они дальше не особо-то и нужны.
необоснованно обобщаете свой опыт на всю веб разработку
Ни в коем случае. Я говорю исключительно про нашу рабочую ситуацию. У нас нет огромных проектов. Видимо поэтому есть недопонимание.
Как-то не проходит у нас рефакторинг в таком смысле как он понимается. У нас чаще получается, что код работает, скажем год, а после этого определенную часть надо переделать. Именно не видоизменить, а сделать заново с новыми требованиями. Ну и тесты будут совсем другие. Я понимаю, что это частный случай. Но я и не говорю, что тесты — это плохо. Я скорее наоборот считаю. Только вот не получается их использовать в текущей ситуации, а хочется.
Открыли в браузере страницу, ввели тестовые данные (скажем, адрес сайта, который нужно спарсить), запустили парсинг, проверили результаты и отчеты.
Ну да. Так если с пользовательским участием, то мне и тест не нужен, я просто запущу парсинг с --verbose --fake. А хотелось бы, чтобы запустил тест и ответ был в виде ok/fail.
Например на RC ДВС используются карбюраторы, а для устойчивого работы ДВС на газу надо использовать инжекторы (скорее всего есть и инжекторные RC моторы, но я с ними не сталкивался). Для этого нужно намного больше датчиков (давления, температуры, положения коленвала и т.д.), кроме того жидкое топливо заливается в простой сосуд из пластмассы, а для газа нужен будет более толстостенный и тяжелый контейнер.
Да и работают обычно моторы не на бензине, а на нитрометане, и процесс работы больше похож на дизельный двигатель (свеча накала, компрессия и т.д.).
В принципе на RC с реальными бензиновыми моторами можно поставить газ, но, как мне кажется, это повлечет с собой очень много проблем.
Но почему вы решили, что я говорю только про юнит тесты? Из-за примера в посте? Я знаю, что есть разные виды тестов, но это всё равно не спасает (по крайней мере меня) от проблемы описанной в посте.
Например, частый случай для нас: мы написали часть приложения, клиент посмотрел его и понял, что ему надо не это. Он даже не спорит, что надо доплатить за переделку, но просит сделать по-быстрее, т.к. у него уже есть бизнес план и т.д. И мы переделываем эту часть. Причем сильно. Если было бы написано скажем 50 тестов, то 45 из них стали бы не нужны. Не просто красными, а именно не нужны. Но надо написать ещё 60 тестов на новую функциональность, которые опять окажутся не нужны по той же причине.
Я прекрасно понимаю, что это можно назвать рабочим процессом. Я вообще, как мне кажется, понимаю, как должно быть в идеальном случае. Я понимаю, как можно отступить от идеала (благодаря статьям).
Но вот только я не могу приспособить какой-нибудь метод для нашей ситуации. Но тут похоже всё просто. У нас не большие проекты и работает мало человек. По этой причине нет потребности в тестах. Но «я хочу писать тесты» :)
Да, видимо не понимаю. Не представляю, как это сделать в 7 строк.
Видимо, надо начинать писать тесты. Тогда может быть пойму.
Нет, не выбрасываем. Я имел ввиду, что если ошибка была в том, что мы скачиваем изображение, его расширение jpeg, мы считаем, что это jpeg, а оно bmp внутри. То для этого случая можно написать тест. Но зачем, если в функции мы уже всё равно проверяем по содержимому?
Да, конечно, всё так. Но я проверяю разными способами, в отладчике, в общем цикле работы, и т.д. Можно написать по 20 тестов для каждой функции, но жалко время, если они дальше не особо-то и нужны.
Ни в коем случае. Я говорю исключительно про нашу рабочую ситуацию. У нас нет огромных проектов. Видимо поэтому есть недопонимание.
Ну да. Так если с пользовательским участием, то мне и тест не нужен, я просто запущу парсинг с --verbose --fake. А хотелось бы, чтобы запустил тест и ответ был в виде ok/fail.