如何使用黄瓜测试Rack应用程序的创建?

时间:2014-01-31 06:45:11

标签: ruby cucumber capybara rack aruba

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

1 个答案:

答案 0 :(得分: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"