Ruby 2.2.0 DataMapper: как проверить числовые поля - PullRequest
0 голосов
/ 06 мая 2018

Я работаю на Ruby 2.2.0, у меня есть класс

class JobOffer
  include DataMapper::Resource

  property :id, Serial
  property :title, String
  property :location, String
  property :experience, Numeric, :default => 0
  property :description, String
  property :created_on, Date
  property :updated_on, Date
  property :is_active, Boolean, :default => true
  belongs_to :user

  validates_presence_of :title
  validates_numericality_of :experience => {
      :greater_than_or_equal_to => 0,
      :less_than_or_equal_to    => 16
  }
end

Мой вопрос: как я могу проверить значения поля опыта в тестах rspec? Это легко проверить название, потому что я спрашиваю действительный? и он возвращает, если заголовок присутствует или нет, но я не знаю, есть ли что-то подобное для числовых полей. Заранее спасибо!

1 Ответ

0 голосов
/ 06 мая 2018

Простое тестирование того, что attr может быть написан для данной модели, не очень полезно, поскольку оно является частью основной функциональности ORM, а также с валидаторами, но если вы действительно хотите, вы можете протестировать создание новое предложение о работе, что-то вроде ...

RSpec.describe JobOffer do
 describe ".new" do
   subject(:new) { JobOffer.new(experience: experience_in_years)}
   context "when intialized with experience of 5"
   let(:experience_in_years) { 5 }
   it "has an experience of 5" do
     expect(new.experience).to eq(5) 
   end
   end
 end
end

Но, опять же, это в значительной степени основная функциональность ORM, так что это, возможно, бесполезный тест.

...