Как сделать RSpec oneliner для проверки изменения: количества - PullRequest
0 голосов
/ 24 мая 2019

мы все любим однодневки, они такие классные, но при этом они так недокументированы

как я могу создать однотипный код (который в настоящее время работает блестяще)?

it "deletes the user" do
  expect { destroy_user }.to change(User, :count).by(1)
end

Ответы [ 2 ]

2 голосов
/ 24 мая 2019

как я могу сделать это с помощью этого кода

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

Синтаксис с одной строкой работает только с ожиданиями неблокирования (например, expect(obj).to eq и т. Д.) И не может использоваться с ожиданиями блока (например, expect { object }).

1 голос
/ 24 мая 2019

Я думаю, ваш пример - единственный способ выполнить то, что вы хотите.

Rspec имеет однострочный синтаксис , но это только для случая, когда у вашего блока есть субъект и, кажется, не поддерживается действие, подобное destroy_user.

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