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