Как использовать rspec для проверки кода рубина?

class UbacParser
    def initialize(str)
        @str= str
        @valid= true
        base_parse
    end

    private
    def base_parse
        @protocol_code = Integer(@str[0..2]) rescue nil
        begin
        @data = @str[@str.index('<')+1..@str.index('>')-1] 
        str_mod = @str[@str.index('>##')+1..-1] 

        arr_mod=str_mod[2..-3].split(',')
        @hash_mod=Hash.new
        arr_mod.each_index { |i| @hash_mod[arr_mod[i].split('=')[0]]=arr_mod[i].split('=')[1] }
        rescue
            puts "error in data_parse"
            @valid=false
        end
    end

    public
    def valid?

        return @valid;
    end

    def [](key)
        unless @valid: return 
        end
        @hash_mod[key.upcase]
    end

end

Как мне написать валидатор / тестовый пример rspec для этого кода класса Ruby?

Пожалуйста помоги

1 ответ

Я предлагаю вам взглянуть на сайт rspec и перезапустить с нуля, написав сначала спецификации. Это было бы хорошим обучающим упражнением и помогло бы вам написать тестируемый код.

Другие вопросы по тегам