如何使用rspec来验证ruby代码?
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('<')[email protected]('>')-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
我如何为这个 Ruby 类代码编写 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('<')[email protected]('>')-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
How do i write a rspec validator / test case for this Ruby Class code?
Please help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我建议您查看 rspec 网站,然后从头开始编写规范。这将是一个很好的学习练习,可以帮助您编写可测试的代码。
I suggest you have a look at the rspec website and restart from scratch by writing the specs first. It would be a good learning exercise and help you write testable code.