Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby&Rspec,有效地测试一组值?_Ruby_Unit Testing_Rspec - Fatal编程技术网

Ruby&Rspec,有效地测试一组值?

Ruby&Rspec,有效地测试一组值?,ruby,unit-testing,rspec,Ruby,Unit Testing,Rspec,我有一个模型,有许多类似的值,我正在寻找测试,我正在努力找到最有效的方法 我有一个模型Workweek,它为一周中的每一天{weekday}小时都有一个浮动字段,允许员工输入当天的每日小时数。我想测试并确保在给定的一天内不能输入大于24的值 虽然我可以为一周中的每一天编写7个不同的测试,但我想做如下工作: let(:workweek) { create_week } [ 'monday', 'tuesday', 'wednesday', 'thursday', 'frida

我有一个模型,有许多类似的值,我正在寻找测试,我正在努力找到最有效的方法

我有一个模型Workweek,它为一周中的每一天{weekday}小时都有一个浮动字段,允许员工输入当天的每日小时数。我想测试并确保在给定的一天内不能输入大于24的值

虽然我可以为一周中的每一天编写7个不同的测试,但我想做如下工作:

let(:workweek) { create_week }
 [
  'monday',
  'tuesday',
  'wednesday',
  'thursday',
  'friday',
  'saturday',
  'sunday'
 ].each do |day|
  it "shoud not allow #{day}_hours to exceed 24" do
    # Test body here
  end
但我正在努力处理属性分配。我想要像工作周那样的工作时间,但这显然不起作用,因为我没有时间

有什么建议吗?谢谢

那你应该这样做

workweek.public_send "#{day}_hours"

方法接受方法名称作为符号或字符串实例。

谢谢!这正是我想要的。我以“工作周”结束。公共发送{day}{hours=,25