R-Spec로 단위 테스트를 수행하는 중에 오류가 발생하려고하지만 작동하지 않습니다.Ruby ActiveModel이 오류를 발생시키지 않습니다.
require_relative '../spec_helper'
require 'board'
describe Board do
before do
@board = Board.new
end
describe 'initialise' do
it 'should not exceed top limit' do
@board.place(1, 6).should raise_error
end
it 'should not exceed bottom limit' do
@board.place(1, 0).should raise_error
end
it 'should not exceed right limit' do
@board.place(6, 1).should raise_error
end
it 'should not exceed left limit' do
@board.place(0, 1).should raise_error
end
it 'should place robot within its limits' do
@board.place(1, 1).should_not raise_error
end
end
end
가 어떻게의 입력을 검증하기 위해 활성 모델을 사용할 수 있습니다 아래의 테스트를 위해
require 'active_model'
class Board < Struct.new(:width, :height)
include ActiveModel::Validations
attr_reader :top_limit, :bottom_limit, :left_limit, :right_limit
validate :top_limit, presense:true, numerically: {only_integer: true, :less_than => 6}
validate :bottom_limit, presense:true, numerically: {only_integer: true, :greater_than => 0}
validate :left_limit, presense:true, numerically: {only_integer: true, :greater_than => 0}
validate :right_limit, presense:true, numerically: {only_integer: true, :less_than => 6}
def place(x, y)
end
end
:
나는 최대 아래 당 최소 값을 검증하기 위해 활성 모델을 사용하여 코드 아래에 있습니다 @board.place
?