2015-03-20 2 views
0

Я только что сделал переход от java dev к Ruby/Python. Мне поручили писать специальные шаблоны в rspec. Я использую такие инструменты, как hamcrest и Shazamcrest (что было потрясающе) в java. Есть ли у них такие инструменты в rspec, которые облегчат мою жизнь?Запись пользовательских совпадений в rspec

ответ

0

Пример пользовательской согласовани:

require 'rspec/expectations' 

RSpec::Matchers.define :be_a_multiple_of do |expected| 
    match do |actual| 
    actual % expected == 0 
    end 
end 

RSpec.describe 9 do 
    it { is_expected.to be_a_multiple_of(3) } 
end 

RSpec.describe 9 do 
    it { is_expected.not_to be_a_multiple_of(4) } 
end 

# fail intentionally to generate expected output 
RSpec.describe 9 do 
    it { is_expected.to be_a_multiple_of(4) } 
end 

# fail intentionally to generate expected output 
RSpec.describe 9 do 
    it { is_expected.not_to be_a_multiple_of(3) } 
end 

Проверьте документации для написания пользовательского matchers для RSpec here!

Удачи вам!

Смежные вопросы