gpt4 book ai didi

ruby - 如何从 ruby​​ 中的字符串运行任意对象方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:14:02 24 4
gpt4 key购买 nike

总的来说,我对 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

应该做你想做的。

关于ruby - 如何从 ruby​​ 中的字符串运行任意对象方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com