
Alex
31.10.2016
07:15:55
расскажи

Vitaly
31.10.2016
07:16:15
я про статью
получется
если разбар один он может решить для себя писать тесты или нет - кто проверит что тестов нет?

Google

Vitaly
31.10.2016
07:24:27
а если это команда то там и делить можно наверное ее на - кодеров и тестировщиков

Alex
31.10.2016
07:24:32
Не может, потому что проект дальше может разрастись это раз.
Во вторых один разраб не всегда (никогда) не может держать в голове полную картинку проекта.
В третьих нужно ли тебе каждый раз обдумывать вообще весь flow вместо того чтобы довериться тестам?
Тесты пишутся легко и быстро.

Vitaly
31.10.2016
07:25:08
ну ты явно не кодер одиночка
возможно

Alex
31.10.2016
07:25:29
Я работал в вебстудии ага.
Ща пилю гем небольшой, но его тоже тестами покрываю. Но это OSS
Так что даже не знаю что тебе ответить.

Vitaly
31.10.2016
07:26:12
но если кодер хочет он может и не писать. и да соглашусь если ты думаешь что проект перейдет в другие руки или разростется, то можешь писать тесты
а если ты уверен что ты не будешь его передавать, то зачем?

Alex
31.10.2016
07:27:16
Но у меня есть небольшой проектик например, я его буду обкладывать тестами просто потому что я:
- привык так работать в тестовой среде
- это быстрее чем в dev потому что для кода контролируемое окружение
- код получается качественее потому что ты сходу пишешь несколько тестов на разные кейсы
- не нужно каждый раз вспоминать всю картину что куда идет. К тому же все равно все не учтешь.
- даже на моем маленьком проекте если что то навернется в проде, будет неприятно. Зачем если я могу это тестами обложить?

Google

Alex
31.10.2016
07:27:24
Потому что быстрее.
Будешь смеяться но у меня разработка в тестах идет быстрее потому что тулкит быстро позволяет наполнить базу данными нужными для каждого кейса.
В то время как в dev ты будешь каждый раз сам забивать нужные модельки (создавать) и удалять их и редактировать после каждой неудачнй попытки.
Просто неудобно.
К тому же в тесте нет мусорных данных которые тебе мешали бы в консольке просматривать результаты.
Просто признайся что ты никогда не пробовал нормальное тестирование и думаешь что тесты отнимут много времени.
Все через это проходили.

Vitaly
31.10.2016
07:29:08
да

Alex
31.10.2016
07:29:57
В общем чтобы оценить автотесты надо конечно поработать в проекте с несколькими программистами. В собственном проекте это может быть не всегда так очевидно. Однако если ты потом вернешься к своему коду - ты сможешь его отредактировать и быть уверенным что ничего не сломалось

Eugene
31.10.2016
07:29:58
Была ситуация с factory girl: хотел гонять тесты но эта библиотека при прогоне теста создавала записи в бд и не роллбэчила их после тестов. Потом я накатил rake db:test:prepare.
FactoryGirl.define do
factory :user do
sequence(:user_name ) {|n| "monday#{n}" }
sequence(:email) {|n| "person#{n}@example.com" }
end
после этого при первой прогонке тестов запись создается опять же создается, ну а потом пишет duplicate error

I
31.10.2016
07:29:59
Это с нуля проще

Alex
31.10.2016
07:30:05
Ты сможешь обновить зависимости и убедиться что ничего не сломалось.
Да, готовый проект обкладывать тестами это

I
31.10.2016
07:30:35
Если ты пришел на проект, где на тесты хуй забили - то твои спеки никчемны

Alex
31.10.2016
07:30:53
там есть database_cleaner и он сам роллбэчит.

Eugene
31.10.2016
07:31:04
что вы вообще можете сказать на эту тему? так ли надо пилить записи в development, а на production писать чтобы роллбэчило

Alex
31.10.2016
07:31:12
Можешь посмотреть что там и как и применить в своем проекте?

Eugene
31.10.2016
07:31:28
ну кинь в гист пожалуйста
или пастебин

Google

Vitaly
31.10.2016
07:31:35
rake db:rollback
не помогает?

Alex
31.10.2016
07:31:44
https://github.com/Fedcomp/rails_template

Eugene
31.10.2016
07:31:57
а нахуя мне роллбэчить каждый раз, когда я прогоняю тест

Alex
31.10.2016
07:31:58

Vitaly
31.10.2016
07:32:08
а сбросить?

Eugene
31.10.2016
07:32:11
может это так и надо

Alex
31.10.2016
07:32:13
ребята все очень просто и легко, и быстро работает.

I
31.10.2016
07:32:44
А вы в какой энв пихаете фабротелку?)

Eugene
31.10.2016
07:33:06
так что пижу с горы теории

Alex
31.10.2016
07:33:23
@Eugene_Shved создай рельсовый проект через мой template и посмотри как оно устроено.

Vitaly
31.10.2016
07:33:51
rake db:reset тоже не подходит?

I
31.10.2016
07:33:51
Ну да, можно и заводотелку. Просто на телефоне холодно писать)

Alex
31.10.2016
07:33:52
У меня там имхо оптимальная конфигурация для тестов.
Фабрика + rspec + database_cleaner
потом еще капибару засуну когда до нее дело дойдет.
я просто вчера СЛУЧАЙНО вспомнил что меня бесит каждый раз рельсы заводить, и что там можно создать template

Google

Eugene
31.10.2016
07:40:26

Alex
31.10.2016
07:40:39
git clone мой темплейт
переходишь в корень склонированого репозитория
rails new dummy -m default/template.rb
Я просто не думал что буду кому то еще скидывать темплейт поэтому не сделал ридме.
Суть только в том чтобы посмотреть какой проект получается (в основном gemfile/spec)

Eugene
31.10.2016
07:50:35

Alex
31.10.2016
07:50:57
Удали верхнюю строчку где require "pry-byebug"

Антон
31.10.2016
08:03:08

Admin
ERROR: S client not available

I
31.10.2016
08:03:46
ну я примерно так и делаю - показываю, что там в гите изменения чужие все сломали
просто я через gui-тулу это показываю, так наглядней

Кøе-ктø Геннадьевич
31.10.2016
08:05:37
Требования:
Знание Ruby (2.x) и практический опыт разработки на Ruby on Rails. Умение работать с БД (PostgreSQL и MySQL).
Опыт настройки окружения на ОС Linux.
Понимание принципов построения высокопроизводительных и отказоустойчивых систем.
норм ок
А. Я ступил. Сорян ))

I
31.10.2016
08:06:21
пришел такой
пояснил за принципы
и все, принят

Кøе-ктø Геннадьевич
31.10.2016
08:07:06
Я версию Руби и Рельс перепутал. Думаю нифига себе, Рельсы 2.0 ?

I
31.10.2016
08:07:22
а, я знаю проекты, где так до сих пор

Google

Кøе-ктø Геннадьевич
31.10.2016
08:07:38
но зачем

I
31.10.2016
08:07:45
затем, что legacy
работает - и работает

Антон
31.10.2016
08:09:19

Alex
31.10.2016
08:17:48
В деве можно заставить ее сиды генерить
удобно.

Антон
31.10.2016
08:19:31

Alex
31.10.2016
08:20:00
лучше комбинировать sequence и faker
а то емейл может совпадать, например.
> а то человек очень хитрое существо
А что, были такие хитрые?

Антон
31.10.2016
08:21:39
я такой
:)
только не говори мне что ты можешь управлять подсознанием

Alex
31.10.2016
08:23:07
Ну вообще да, вспомнил подобные косяки за собой. Но это обычно под давлением сроков все.

Антон
31.10.2016
08:23:20
твой мозг постоянно хитрит, каких бы злых котиков ему бы ни показывал :)

Alex
31.10.2016
08:23:35
Обычно он прокрастинирует

Антон
31.10.2016
08:24:08
встреча анонимных прокрастинаторов перенесена на завтра

Vitaly
31.10.2016
08:38:19
а это кот в красной каске или красный фон позади кота?

Alex
31.10.2016
08:38:29
Фон
Градиент даже. Вроде очевидно.