@rubylang

Страница 606 из 1684
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
хотя там контроллер сразу тестируют

а не вьху в одной и той же главе

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

Alex
12.11.2016
07:12:22
в четверке it блоки вроде из коробки тоже не работали.

У меня они работали после того как я один из гемов с капибарой поставил.

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

для rails 5

Vitaly
12.11.2016
07:20:01
дай линк, будь добр
https://www.railstutorial.org/book/static_pages#cha-static_pages

у него в этой главе для 4 рельсов тесты начинаются со вьюх

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

Artur
12.11.2016
07:21:08
да я учу их по railstutorial
Не учи их. Де-факто стандарт - rspec.

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
TDD подразумевает что сначала пишутся тесты, а потом код.
Я про то, что тестировать учись сразу на том инструменте, с которым будешь работать. А работать ты будешь с rspec.

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
писать в config folder тоже слегка не надежно?
Более чем. Автор все еще не сказал что у него за кейс.

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

Vitaliy
12.11.2016
08:00:41
Если не найдется в течении года человека, который будет готов дальше развивать проект, то спустя год выйдет последняя версия гема и все. Либсасс и дарксасс будут развиваться дальге, а рубисасс встанет на одном месте, что равносильно выпилу.
Все равно заявление звучит неясно: 1. Сасс сейчас на паузе намеренно, так как ждет, когда либсасс его догонит по фичам, чтобы в дальнейшем они могли развиваться синхронно. 2. Даже если сасс действительно перестанет развиваться, и останется только либсасс - как это коснется рельс? sassc-rails вместо sass-rails - и нет проблем.

? Алёна
12.11.2016
08:06:51
Все равно заявление звучит неясно: 1. Сасс сейчас на паузе намеренно, так как ждет, когда либсасс его догонит по фичам, чтобы в дальнейшем они могли развиваться синхронно. 2. Даже если сасс действительно перестанет развиваться, и останется только либсасс - как это коснется рельс? sassc-rails вместо sass-rails - и нет проблем.
> Ruby Sass в конечном итоге уйдет совсем, если не появится новый разработчик для него. А если никто не выступит, то Ruby Sass будет официально признан устаревшим и неподдерживаемым. >sassc Блин. С ним эти кадавры будут жить пока руби не умрет х((

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.

Страница 606 из 1684