
Alex
12.11.2016
07:08:27
бери rspec

Vitaly
12.11.2016
07:08:51
да я учу их по railstutorial
в версии 4 код выглядит
it "should have the content 'Sample App'" do
visit '/static_pages/home'
expect(page).to have_content('Sample App')
end
а в 5
test "should get home" do
get static_pages_home_url
assert_response :success
end

Google

Vitaly
12.11.2016
07:10:06
хотя там контроллер сразу тестируют
а не вьху в одной и той же главе

johnny
12.11.2016
07:10:43
вроде)

Vitaly
12.11.2016
07:11:39
почему автор сразу перешел к контроллерам не ясно

Alex
12.11.2016
07:12:22
в четверке it блоки вроде из коробки тоже не работали.
У меня они работали после того как я один из гемов с капибарой поставил.

Vitaly
12.11.2016
07:13:16
короче я так понял, что в его учебнике через тесты для контроллеров, тестируются и вьюхи...
для rails 5

johnny
12.11.2016
07:18:53

Vitaly
12.11.2016
07:20:01
у него в этой главе для 4 рельсов тесты начинаются со вьюх

Google

Vitaly
12.11.2016
07:20:54
а тут контроллеры и в них же тестируются вьюхи

Artur
12.11.2016
07:21:08

Vitaly
12.11.2016
07:23:59
так rspec это TDD?
TDD подразумевает что сначала пишутся тесты, а потом код.
я так понял.

Alex
12.11.2016
07:29:33
а причем тут движок тестовой системы и подход?

Vitaly
12.11.2016
07:29:53
хз

Alex
12.11.2016
07:30:17
Вот и я хз.
ты тесты и там и там можешь писать. Просто у rspec инструментарий лучше и инструментов больше

Vitaly
12.11.2016
07:31:39
я то вообще про книгу начал спрашивать

Alex
12.11.2016
07:32:05
Надо официальные гайды читать
они всегда up to date

Vitaly
12.11.2016
07:32:16
у автора основывается идея использования BDD, как он сам там пишет, на том что якобы TDD умерло

Alex
12.11.2016
07:32:40
Это его мнение, и оно может не совпадать с действительностью.

Vitaly
12.11.2016
07:32:57
но в гайдах пишут про BDD

Alex
12.11.2016
07:33:13
в каких?

Vitaly
12.11.2016
07:33:50
я конечно могу ошибаться но книга например https://www.amazon.com/gp/product/1934356379/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1934356379&linkCode=as2&tag=httpbettersco-20
и сайт http://betterspecs.org/

Alex
12.11.2016
07:34:38
То что нужно побольше тестировать BDD не значит что TDD умерло.
Можно еще сказать что ООП умер.

Google

Vitaly
12.11.2016
07:35:02
так гайды если перестанут писать про TDD для новых рельс

Artur
12.11.2016
07:35:19

Vitaly
12.11.2016
07:35:48

Alex
12.11.2016
07:36:08
тебе надо все разжевать? сам разобраться не сможешь? ?
На беттерспеках только одно использование слова BDD
К тому же чтобы понимать что такое TDD и BDD надо попробовать оба подхода.

Andy
12.11.2016
07:38:08
кто подскажет как организовать парсинг файла на коллбеке before_create у модели, конечно можно синглтон модель сделать с парсером, но может есть что-то другое?

Alex
12.11.2016
07:38:23
какого файла?

Andy
12.11.2016
07:38:23
че-то не могу сообразить
yml

Alex
12.11.2016
07:38:29
как ты его модели передаешь?

Andy
12.11.2016
07:38:43
YAML.load_file

Alex
12.11.2016
07:38:59
Значит он туда уже хэшиком приходит.

Andy
12.11.2016
07:39:00
задача недостающие поля брать из конфига

Alex
12.11.2016
07:39:02
Так что ты хотел сделать?
before_commit _Наверное_

Andy
12.11.2016
07:39:23
вынести логику парсинга из модели

Alex
12.11.2016
07:39:23
Потому что не очнеь понятна задача.
Ну так делай это в контроллере который модель обновляет.

Google

Andy
12.11.2016
07:40:27
просто конфиг общий для разных моделей, и каждая модель берет нужные ей поля

Artur
12.11.2016
07:40:55

Andy
12.11.2016
07:41:12
да-да, вот кажется это и надо

I
12.11.2016
07:41:22
я бы считал тогда при старте приложения конфиг
и хранил бы его в памяти
если он не большой, конечно

Andy
12.11.2016
07:41:50
приложение всегда запущенно и конфигурируется конфигами
так сказать вносятся изменения

I
12.11.2016
07:42:06
а, понял
можно сделать отдельного fs_watcher'a и на событие изменения конфига перегружать его в память :)

Admin
ERROR: S client not available

Alex
12.11.2016
07:43:17
omg сколько сложжностей

Andy
12.11.2016
07:43:17
да, это и хочется

Alex
12.11.2016
07:43:35
fs_watcher тут не нужен
Не понимаю зачем столько сложностей.

I
12.11.2016
07:43:52
ну или Guard'ом)

Alex
12.11.2016
07:43:58
В контроллере сразу назначать модели содержимое файла при назначении
И кэшировать содержимое файла чтобы disk io часто не дергать.
Если оно конечно медленным еще будет.

I
12.11.2016
07:44:21
чтобы уменьшить количество считываний с диска же

Google

Alex
12.11.2016
07:44:32
КЭШ

I
12.11.2016
07:44:47
хуэш, я о том же говорю

Alex
12.11.2016
07:44:52
Не стоит усложнять там где усложнять не стоит.
fs_watcher Это вообще ни разу не кэш
это +N точек отказа.

I
12.11.2016
07:45:53
я потом про Guard написал

Alex
12.11.2016
07:46:13
Guard На продакшене??

I
12.11.2016
07:46:39
а они на продакшене меняют конфиги на сервере в config-folder?

Andy
12.11.2016
07:46:52
да

I
12.11.2016
07:47:32
а тут сколько точек отказа тогда?:)

Alex
12.11.2016
07:47:48

I
12.11.2016
07:48:09
пруфы?

Alex
12.11.2016
07:48:39
пруфы?
Тебе нужны пруфы что fs_watcher это ненадежно?

I
12.11.2016
07:49:14
писать в config folder тоже слегка не надежно?
а так да

Alex
12.11.2016
07:49:46

I
12.11.2016
07:50:14
я бы с радостью увидел отзывы о Guard на продакшене у тех, кто меняет файлы на продакшене

Vitaliy
12.11.2016
08:00:41

? Алёна
12.11.2016
08:06:51

Vitaliy
12.11.2016
08:08:19
Как будто наличие сасс в рельсах - такая большая проблема ?

Aldar
12.11.2016
08:08:53
руби уже никогда не умрет

? Алёна
12.11.2016
08:10:17
Я за то, чтобы не использовать руби на фронте. (Потому что уже второй проект подряд мне приходится разгребать тонны кофескрипта и жквери, приправленные хамлом) А наличие годного препроцессора отодвигает непонятно куда тот знаменательный день, когда такие кадавры вымрут.

Vitaliy
12.11.2016
08:12:12
В целом я понимаю доводы. Но врядли это изменится. Не скажу за руби, но рельсы - платформа самобытная, и останется такой, пока самобытными останутся basecamp и highrise.