如何在ruby中从字符串运行任意对象方法?
发布时间:2020-12-17 03:33:51 所属栏目:百科 来源:网络整理
导读:所以我对 ruby一般都是新手,我正在为我正在创建的对象编写一些rspec测试用例.很多测试用例都是相当基础的,我只想确保正确填充和返回值.我想知道我是否有办法用循环结构来做这件事.而不是必须为我想测试的每个方法都有一个assertEquals. 对于实例: describe
所以我对
ruby一般都是新手,我正在为我正在创建的对象编写一些rspec测试用例.很多测试用例都是相当基础的,我只想确保正确填充和返回值.我想知道我是否有办法用循环结构来做这件事.而不是必须为我想测试的每个方法都有一个assertEquals.
对于实例: describe item,"Testing the Item" do it "will have a null value to start" do item = Item.new # Here I could do the item.name.should be_nil # then I could do item.category.should be_nil end end 但我想要一些方法来使用数组来确定要检查的所有属性.所以我可以做点什么 propertyArray.each do |property| item.#{property}.should be_nil end 这个或类似的东西会起作用吗?感谢您的任何帮助/建议. 解决方法
object.send(:method_name)或object.send(“method_name”)将起作用.
所以在你的情况下 propertyArray.each do |property| item.send(property).should be_nil end 应该做你想做的事. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |