Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 Autospec/rspec不工作,是否做错了什么?_Ruby_Rspec - Fatal编程技术网

Ruby Autospec/rspec不工作,是否做错了什么?

Ruby Autospec/rspec不工作,是否做错了什么?,ruby,rspec,Ruby,Rspec,我不知道这在StackOverflow上是否有它的位置,但由于它与编程有关,我将把它击退 这是我的问题。我是TDD新手,我喜欢Ruby,所以我选择的显而易见的方法是用rspec测试东西。为什么显而易见?我在各种各样的屏幕上看到了它,觉得它真的很棒。然后我在某处看到了“autospec”,并尝试使用它 因此,我使用sudogem安装ZenTest(根据说明)安装gem 接下来,我进入包含“digit.rb”和“digit_spec.rb”的文件夹,在没有任何参数的情况下启动autospec。什么也

我不知道这在StackOverflow上是否有它的位置,但由于它与编程有关,我将把它击退

这是我的问题。我是TDD新手,我喜欢Ruby,所以我选择的显而易见的方法是用rspec测试东西。为什么显而易见?我在各种各样的屏幕上看到了它,觉得它真的很棒。然后我在某处看到了“autospec”,并尝试使用它

因此,我使用sudogem安装ZenTest(根据说明)安装gem

接下来,我进入包含“digit.rb”和“digit_spec.rb”的文件夹,在没有任何参数的情况下启动autospec。什么也没发生。值得注意的是,我的spec文件中有两个测试,我可以使用spec命令对其进行测试,但是我很乐意使用autotest


是否有可用的帮助/指针/文档链接?求你了P

也许你可以试试spork+autospec。rspec wiki上的spork说明可能是最新的方式:

您需要创建包含以下代码的
.autotest
文件:

Autotest.add_hook :reset do |at|
  at.clear_mappings
  at.add_mapping(/^(.*?)(_spec)?\.rb$/) { |filename, m|
    if m[2]
      filename
    else
      "#{m[1]}_spec.rb"
    end
  }
end

它更改了file到spec的默认映射

只是添加到了答案中:autospec的默认行为是在./lib中搜索任何文件,并在./spec中查找相应的测试文件。因此,要像我刚才所做的那样“尝试”,您需要将代码文件放在lib子目录中,你的测试文件在spec子目录中。事实上,我只是想看看测试非rails代码的可能性。只是同时学习Ruby和TDD,我非常喜欢它们。