0

我正在创建一个将生成 Rack 应用程序的 Ruby 命令行应用程序。我想测试创建的 Rack 应用程序是否是有效的 Rack 应用程序。我已经开始使用 Aruba 和 Cucumber 来测试 CLI 是否创建了正确的文件和目录结构,但现在我已经准备好运行rackup并看到应用程序运行正常。如何让 Cucumber 和 Capybara 与这个新创建的应用程序交互?

4

1 回答 1

0

为您的机架应用程序生成一个根页面,然后让 capybara 访问您认为是根路径的任何路径并验证该页面上的某种输出

def response
   if request.path "/" 
      Rack::Response.new(render("index.html.erb"))  
   else 
      Rack::Response.new("Not Found", 404)
    end
end

在机架启动时:@startup_output = "foo" 在您的根页面上生成某种输出<%= @startup_output %>

水豚:

visit('/')
page.should have_content('foo')

如果您需要让 capybara 启动应用程序,请尝试在测试中使用 rake 任务:

system "rake rack:start"
于 2014-01-31T12:27:05.923 回答