
Dima
22.12.2016
14:43:06
я себе spring gem поставил и он как-то плохо стал себя вести с rails console

Alex
22.12.2016
14:43:21
spring stop

Alexander
22.12.2016
14:43:52

Alex
22.12.2016
14:44:03

Google

Dima
22.12.2016
14:44:06
он и просто spring мне подвешивает

Alex
22.12.2016
14:44:19
Можно приблизительно понимать поведение, и когда оно не совпадает разбираться глубже.
killall spring

Alexander
22.12.2016
14:44:52

Dima
22.12.2016
14:45:08
сей час я их просто почикаю

Alex
22.12.2016
14:45:15

Lupsick
22.12.2016
14:45:21
конкретнее

Alexander
22.12.2016
14:45:22

Alex
22.12.2016
14:45:23
тесты ДОЛГО грузятся.

Alexander
22.12.2016
14:45:34

Alex
22.12.2016
14:45:49
поэтому когда тддшишь или где то рядом то удобно когда у тебя rspec через spring грузится.

Google

Alexander
22.12.2016
14:46:10
guard вообще мне не очень понравился, выбрал filewatcher

Alex
22.12.2016
14:46:13
я сделал чтобы guard-rspec запускал тесты через spring

Lupsick
22.12.2016
14:46:18
ловил кучу багов из-за спринга

Alex
22.12.2016
14:46:27
не знаю что там может не понравиться, он просто работает.

Alexander
22.12.2016
14:46:36

Alex
22.12.2016
14:46:39

Dima
22.12.2016
14:46:47
конкретнее
а что конкретней? не запусался rails console. я убил spring через kill -9 ID

Alex
22.12.2016
14:46:49

Ilya
22.12.2016
14:46:53

Alex
22.12.2016
14:46:56
а мне надо тесты каждые 3 секунды перезапускать образно

Andrey ?
22.12.2016
14:47:05
Спринг постоянно как-то косоёбит консоль

Alex
22.12.2016
14:47:09
zeus gem еще
с ним читал косяков полно, плюс spring более популрный.

Andrey ?
22.12.2016
14:47:11
У меня порой из-за него загружается просто irb

Alexander
22.12.2016
14:47:12

Ilya
22.12.2016
14:47:21
мы и то и то используем

Alex
22.12.2016
14:47:21

Lupsick
22.12.2016
14:47:30

Andrey ?
22.12.2016
14:47:32
Убиваю ебучий спринг, запускаю заново консоль, все ок

Alexander
22.12.2016
14:47:34

Alex
22.12.2016
14:47:43

Google

Alexander
22.12.2016
14:47:57

Dima
22.12.2016
14:47:58

Alex
22.12.2016
14:48:01
поэтому ты почти сразу же получаешь запускающийся тест, для меня разница очень заметна.

Andrey ?
22.12.2016
14:48:13
А я тесты гоняю на GitLab, ибо на локалке они пиздец как долго работают энивей

Alex
22.12.2016
14:48:15

Andrey ?
22.12.2016
14:48:26
И минута на запуск рспека погоды не сделает

Alexander
22.12.2016
14:48:32

Alex
22.12.2016
14:48:34
gitlab само собой, но во время разработки тебе это не поможет.

Alexander
22.12.2016
14:48:45

Alex
22.12.2016
14:48:49
Я в тесте стараюсь код писать.

Andrey ?
22.12.2016
14:48:51
Там тесты на одну ебаную логику, что не всегда возможно

Alexander
22.12.2016
14:48:54

Andrey ?
22.12.2016
14:49:04
Там большую часть времени не тесты занимает, а seed

Alex
22.12.2016
14:49:04
что за seed?
нормальные люди в rspec сиды не запускают

Andrey ?
22.12.2016
14:49:44
Ну, это нормальные люди
Там просто нужно создать одноразовую штуку, заполнить рандомными значениями, прогнать тесты на то, что получилось
И вот эти штуки заполняются пиздец как долго

Google

Alex
22.12.2016
14:50:11
лолчто
фабрики
конечно заполняются долго, потому что ты тесты неправильно готовишь

Alexander
22.12.2016
14:50:37

Alex
22.12.2016
14:50:42
у тебя для каждого теста должна быть чистая база и заполняться ТОЛЬКО данными нужными ТОЛЬКО для этого теста.
все все все вообще.

Andrey ?
22.12.2016
14:51:03
Там и так фабрики

Alex
22.12.2016
14:51:06
иначе потом не отследишь какие тебе данные нужны для этого куска кода.

Admin
ERROR: S client not available

Alex
22.12.2016
14:51:34
т.е ченить типа rake db:seed внутри теста.

Dima
22.12.2016
14:51:40
Жизнь прекрасна. include это что то вроде extend class win a module

Alex
22.12.2016
14:51:45
Это плохой и неэффективный подход.

Andrey ?
22.12.2016
14:51:46
Не, не такое, я просто не знаю как назвать это, лол

Dima
22.12.2016
14:53:09
все элеметарно оказалось.

Ilya
22.12.2016
14:53:29
ну я образно)
вот ты взял и прочитал, а представь, если бы все это он писал тут)

Andrey ?
22.12.2016
14:54:04
Я знаю, что это - ебаное решение, но на тот момент я не мог придумать лучше
Так вот, в сумме оно выполняется по 20-25 минут)

Alex
22.12.2016
14:56:22
Во первых в каждом тесте создавай только то чт оты тестируешь

Google

Alex
22.12.2016
14:56:40
во вторых выноси данные допустим в fixtures/tournament.json и пиши код который их оттуда читает и сует через active record import

Andrey ?
22.12.2016
14:57:04
Данные желательно иметь рандомные

Ilya
22.12.2016
14:57:34
просто объект, в контексте которого все выполняется
[1] pry(main)> self
=> main
[2] pry(main)> self.class
=> Object
[3] pry(main)> self.class.ancestors
=> [Object, PP::ObjectMixin, ActiveSupport::Dependencies::Loadable, BSON::Object, JSON::Ext::Generator::GeneratorMethods::Object, Kernel, BasicObject]

Alex
22.12.2016
14:58:01

Ilya
22.12.2016
14:58:11
это рельса, в irb просто меньше родителей вроде

Andrey ?
22.12.2016
14:58:13
Они эффектно прячутся в этом интеракторе

Alex
22.12.2016
14:58:18
в общем через factorygirl делай build и загоняй через Activerecord import
Это раз.

Ilya
22.12.2016
14:58:32
self.class.ancestors
=> [Object, Kernel, BasicObject]

Alex
22.12.2016
14:58:36
Во вторых я на 100% уверен что у тебя можно куски кода тестировать так чтобы не все данные каждый раз засовывать

Ilya
22.12.2016
14:58:37
irb

Andrey ?
22.12.2016
14:58:46
Там ебучая куча связей и все это нужно протестировать

Alex
22.12.2016
14:58:48
если нет, то 100% их можно аккуратно разбить на логические куски.

Andrey ?
22.12.2016
14:58:53
Там тестируется результат всей этой херни

Alex
22.12.2016
14:59:02
Вот и тестируй только то что надо протестировать в каждом конкретном месте

Andrey ?
22.12.2016
14:59:09
Например, что нет групп без игроков, что нет групп со слишком большим числом игроков и т.п.

Alex
22.12.2016
14:59:12
то что у тебя сейчас это каша, от которой хуже всем кто будет кодить в этом проекте.