让Rspec +自动测试在Windows上运行

mar*_*ion 5 rspec windows-7 ruby-on-rails-3

我在我的Windows 7机器上安装了growl + rspec + autotest.在命令提示符下,当我输入'rspec spec /'时,它不起作用.只有在使用'rake spec /'+'autotest'时才会运行测试.

此外,我正在运行这些测试:http://railstutorial.org/chapters/static-pages#code : default_pages_controller_spec(即非常非常简单),它们需要8.11秒.

当我运行它们时它们也会失败 - 即使它们不在示例中.我完成了教程告诉我的所有内容,问题是教程在Windows机器上安装rspec并没有太深入.它提供了一个链接,但即使这样你也必须将指令拼凑在一起.

我得到的错误是 'Failure/Error: Unable to find C to read failed line [31mundefined methord get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x48336c0>'

第二个错误与此非常相似.

我还正确安装了Growl,因为我收到了两次失败的通知.

谁能帮我?

tsa*_*oth 1

我还没有找到有效的永久修复方法,但显然它可以归结为路径问题 - 有些东西正在破坏 Windows 路径并且它会中断。但是,有一个解决方法:

在您的描述中,在“获取”调用之前,输入以下内容:

包括 RSpec::Rails::ControllerExampleGroup

以下是使用为控制器生成的 Rails 规范的示例代码。请注意,它位于范围的开头:

require 'spec_helper'

describe PagesController do
  include RSpec::Rails::ControllerExampleGroup

  describe "GET 'home'" do
    it "should be successful" do
      get 'home'
      response.should be_success
    end
  end

  describe "GET 'contact'" do
    it "should be successful" do
      get 'contact'
      response.should be_success
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

我看到有一个修复建议对 spec_helper 进行更改(在 Rails 的情况下),但我无法让它工作。

编辑:更多的研究表明这是 autospec 的问题 - 如果您仅使用 rspec,则此解决方案将起作用,但不适用于自动测试。但是,我一直无法找到解决方案。