
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
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.
главное не переборщить, в целом не более двух трех строчек прединициализации на каждый кейс.

Nick
08.02.2017
08:44:36

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

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
ссылка от страницы, советуемой тобой, на которой самой нихрена нет
кроме "плохо/хорошо", никаких объяснений

Alex
08.02.2017
08:55:23
а то контекст совсем не ясен.

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

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

Alexander
08.02.2017
08:56:50

Google

Алексей
08.02.2017
08:56:51

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

Alex
08.02.2017
09:00:04

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

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 }

Алексей
08.02.2017
09:05:11

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
данные хуй проверить

I
08.02.2017
09:06:21

Alex
08.02.2017
09:06:24

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

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