как назначить фиктивные данные в методе с rspec - PullRequest
0 голосов
/ 13 марта 2019

Здравствуйте, ребята, у меня есть вопрос с rspec для rails, как я могу назначить данные для переменной внутри моего метода, например income_average = 12_00 0 без выполнения кода researchable.whitelabel.applicants_income_average

def benchmarks_alerts(researchable)
  income_average = researchable.whitelabel.applicants_income_average
  credit_averange = researchable.whitelabel.average_credit_requested
  errors = {}

  errors = errors.merge(income_in_the_mean: false) unless researchable.within_the_incomes_averenge?(income_average)
  errors = errors.merge(credit_in_the_mean: false) unless within_the_credit_averenge?(credit_averange)

  errors
end

1 Ответ

0 голосов
/ 14 марта 2019

Следующая установка будет издеваться над исследуемым объектом и его методом whitelabel, возвращая тестируемые значения для income_average и credit_average.

НТН

describe Foo do
  subject(:foo) { described_class.new }

  describe '#benchmarks_alerts' do
    subject(:benchmarks_alerts) { foo.benchmarks_alerts(researchable) }

    let(:researchable) { instance_double('researchable', whitelabel: whitelabel) }
    let(:whitelabel) { instance_double('whitelabel') }
    let(:income_average) { 123 }
    let(:credit_average) { 456 }

    before do
      allow(whitelabel)
        .to receive(:applicants_income_average)
        .and_return(income_average)

      allow(whitelabel)
        .to receive(:average_credit_requested)
        .and_return(credit_average)
    end

    it 'does something' do
      # your test goes here
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...