@proRuby

Страница 427 из 1594
Dima
08.02.2017
08:38:30


Alex
08.02.2017
08:39:21
так и не понял что ты сказал

Dima
08.02.2017
08:39:37
Alex
08.02.2017
08:39:46
не, ты лучше понятнее напиши что ты имел ввиду.

Google
Dima
08.02.2017
08:40:26
не, ты лучше понятнее напиши что ты имел ввиду.
один из коньков rspec и руби использование domain specific languages которые по звучанию при чтении похожи на английский язык.

betterspec это переход от англо подобного dsl к сокращенному C-like синтаксису с использованием фигурных скобочек curly brackets.

I
08.02.2017
08:41:26
тут написано про context. Это было основным посылом

Alex
08.02.2017
08:41:33
мне вот конкретно этот совет не нравится

я предпочитаю человеческие it.

Раньше тоже угорал по it { should be_alive } и т.д, потом понял что в rspec documentation оно не читается вообще.

да и получается длинее если context бестолку юзать.

поэтому пока придерживаюсь чего то вроде describe Class do describe ".alive?" do it "should be true if alive" it "should be false if not alive" end end

Периодически чтобы не городить контексты - некоторую инициализацию делаю в it.

главное не переборщить, в целом не более двух трех строчек прединициализации на каждый кейс.

Alex
08.02.2017
08:44:49
Есть, только для них надо лишние контексты городить

Nick
08.02.2017
08:44:58
У меня только фича-спеки обычно больше одной строчки

Google
Alex
08.02.2017
08:45:10
иногда кажется лучше сделать немножко инициализации в it, чем городить тонну контекстов

а то потом в end начинаешь тонуть.

да и контекст + it нужно для documentation красиво оформить, иногда проще одним it обойтись с прединициализацией.

Nick
08.02.2017
08:45:43
иногда кажется лучше сделать немножко инициализации в it, чем городить тонну контекстов
Ну вот не уверен я, честно говоря. Конкретный случай надо смотреть.

Alex
08.02.2017
08:45:57
Я тоже люблю контексты, там где они нужны.

но иногда может выйти 2 * (3|4) контекста, и понимаешь что лучше вложенный контекст по it разогнать по возможности.

Alexander
08.02.2017
08:53:57
Alex
08.02.2017
08:54:11
А? что?

Alexander
08.02.2017
08:54:22
я читаю, чем .should плох

там странный пример

Alex
08.02.2017
08:54:33
кидай ссылку на конкретный пример тогда

Alexander
08.02.2017
08:54:44
кидай ссылку на конкретный пример тогда
http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/

ссылка от страницы, советуемой тобой, на которой самой нихрена нет

кроме "плохо/хорошо", никаких объяснений

Alex
08.02.2017
08:55:23
ссылка от страницы, советуемой тобой, на которой самой нихрена нет
Щито? ну так кидай сначала ссылку на то где betterspecs рекомендуют это

а то контекст совсем не ясен.

Алексей
08.02.2017
08:56:10
ребят спор какой то унылый, как в команде разработчиков договорятся писать так и будут писать не?

Alex
08.02.2017
08:56:16
Нафига так делать? ну не знаю. Знаю только что некоторые гемы вполне так делали, поэтому спеки отказались от should. Однако в it {} should вполне себе до сих пор работают.

Alexander
08.02.2017
08:56:50
Щито? ну так кидай сначала ссылку на то где betterspecs рекомендуют это
русская отстой, я на англ кину (хотя сам мог найти)

Google
Alex
08.02.2017
08:57:00
*шутка про форда

Alexander
08.02.2017
08:57:29
русская отстой, я на англ кину (хотя сам мог найти)
не, не скину, они даже ссылки на сабжекты не сделали

просто поиском можешь найти

Alex
08.02.2017
08:57:48
https://github.com/andreareginato/betterspecs/issues/15

мне тоже should ближе.

Он короче.

Но я его не юзаю кроме как в { } блоках.

Алексей
08.02.2017
08:59:51
Я на все согласен до тех пор пока это rspec + factory_girl
я вот про фактори герл почитал но всеарвно не понял чего это такое, что она дает?

Alexander
08.02.2017
09:00:07
я вот bacon пробую, типа "rspec в 350 LOC", там should, но красивее

Alex
08.02.2017
09:00:15
@RidiculousBad ты на фикстурах сидишь?

Алексей
08.02.2017
09:00:37
@RidiculousBad ты на фикстурах сидишь?
я еще ни на чем не сижу(

I
08.02.2017
09:01:29
я еще ни на чем не сижу(
а пора бы уже вмазаться!

Alex
08.02.2017
09:02:09
ну по мне rspec + factory_girl вполне себе удобный стандарт

не забыть database_cleaner конечно.

с фикстурами больше проблем чем решений.

Алексей
08.02.2017
09:02:37
а фабрики это что?

Alex
08.02.2017
09:02:53
Описываешь в DSL код для генерации конкретной сущности

Google
Алексей
08.02.2017
09:02:55
я нашел только статью на хабре где DHH матерится

Alex
08.02.2017
09:03:05
У DHH огромное количество спорных решений.

Алексей
08.02.2017
09:03:12
I
08.02.2017
09:03:53
пойду переваривать
главное, что сейчас переваришь - потом тем не пиши =)

Alex
08.02.2017
09:04:33
FactoryGirl.define do sequence :email do |n| "person#{n}@example.com" end end FactoryGirl.define do factory :user do name Faker::App.name phone '+7 ' << Faker::PhoneNumber.cell_phone email {generate :email} password Faker::Internet.password(8) role 'admin' end end Вот пример фабрики, не лучшей правда.

теперь я в тесте могу писать let(:user) { create :user }

Alex
08.02.2017
09:05:18
Вообще полная связка здорового курильщика - rspec + factory_girl + database_cleaner + faker

I
08.02.2017
09:05:49
вообще factory_girl умеет много приятных и полезных вещей те же create_list активно использую

Алексей
08.02.2017
09:05:52
это что то типа хелпера но для тестов?

Admin
ERROR: S client not available

Alex
08.02.2017
09:06:02
это хелпер для генерации моделек под тест

Anton
08.02.2017
09:06:07
данные хуй проверить

Anton
08.02.2017
09:06:29
статей или новостей?)
да всего блять

I
08.02.2017
09:06:29
статьи не ко мне =)

Anton
08.02.2017
09:06:41
у меня все новости и статьи блять в один день хуячатся

I
08.02.2017
09:06:47
а новостей я тебе писал уже давно

Google
Alex
08.02.2017
09:06:56
помимо этого если ты юзаешь фейкер - у тебя тесты иногда могут валиться, например у какой то модельки лимит произошел где ты не ожидал. Этакий fuzzing

Тоже полезно.

I
08.02.2017
09:06:59
и Ник писал тоже)

Anton
08.02.2017
09:07:20
Ну бля, эти ваши фактори герл нихуя не коннектятся

Alex
08.02.2017
09:07:22
причем тут новости и статьи вообще непонятно

Anton
08.02.2017
09:07:23
я в душе не ебу

I
08.02.2017
09:07:28
ааа

вспомнил, да)

Anton
08.02.2017
09:07:31
ну тоесть я сгенерил пару хуевин и все

Alex
08.02.2017
09:07:32
I
08.02.2017
09:07:34
го в слаку)

Алексей
08.02.2017
09:07:39
сколько агрессии в чате

I
08.02.2017
09:07:43
щито? ты поставить не можешь?
там отдельная история, лучше забить =)

Alex
08.02.2017
09:08:04
там отдельная история, лучше забить =)
ну если контекста давать не хотите то действительно лучше за пределами чатика.

Anton
08.02.2017
09:08:17
там отдельная история, лучше забить =)
я просто обязан был доебатся

Алексей
08.02.2017
09:11:03
Вообще полная связка здорового курильщика - rspec + factory_girl + database_cleaner + faker
стек сохранил себе, вечером будет время пущу по вене

Dima
08.02.2017
09:13:32
http://blog.commandrun.com/testing-rails-simple-guide-part-2/

Алексей
08.02.2017
09:16:45
когда только все это читать)

Alex
08.02.2017
09:17:22
Капибару туда не понятно зачем пихнули

это advanced уровень

Алексей
08.02.2017
09:17:37
а кукумбер использует кто нить?

I
08.02.2017
09:17:51
да и assigns уже вынесли отдельно

Alex
08.02.2017
09:18:08
а кукумбер использует кто нить?
Гм, как бы тебе помягче сказать.

Страница 427 из 1594