Определить заглушку / ложное ожидание / should_receive в одной строке? - PullRequest
1 голос
/ 11 января 2012

Кто-нибудь знает способ сократить это до одной строки? (RSpec 2)

location = mock
location.should_receive(:build)

Например, вы можете определить следующее:

location = stub
location.stub(build: true)

Вышеуказанное совпадает с:

location = stub(build :true)

Итак, кто-нибудь видит способ указать ожидание в ложном вызове?

Ответы [ 3 ]

4 голосов
/ 11 января 2012

location = mock.tap { |loc| loc.should_receive(:build) }

1 голос
/ 11 января 2012

Если у каждого теста есть определение макета, вы можете сократить нотацию, используя let в начале файла.

let (:location) { double :location }

Затем каждый раз, когда вы используете location, он автоматически создает новый фиктивный объект:

location.should_receive(:build)
1 голос
/ 11 января 2012

выглядит некрасиво, хотя работает:

    (location = mock).should_receive(:build)
...