我是一个ruby / rails新手,我正在开发的应用程序从另一个网站的HTTP帖子开始,该网站传入一些数据,然后在调用Web服务之前显示一些数据捕获屏幕。
我想使用Cucumber进行集成测试和使用rspec进行功能/单元测试时使用外部方法启动此项目。
使用Cucumber如何从外部网站模拟帖子,以便我可以使用应用程序测试流程。
答案 0 :(得分:1)
呼叫发起的应用程序并不重要;仅提供的参数与引用页面中的预期参数匹配。如果您依赖于正在设置的特定HTTP_REFERER,请查看this answer有关如何在Cucumber中设置标头的信息。
add_headers({'HTTP_REFERER' => 'http://referringsite.com'})
由于您已经知道应用程序希望从引用网站获得哪些查询参数/标题,因此您可以创建一个设置块,为每个cuke设置适当的设置。
答案 1 :(得分:0)
如果您使用Cucumber和Capybara,您可以像这样进行HTTP POST。
When /^I sign in$/ do
@user = Factory(:user)
get "/login"
page.driver.post sessions_path, :username => @user.username, :password => @user.password
end
或者,如果你有一个观点,它将是这样的。
When /^I sign in$/ do
@user = Factory(:user)
visit "/login"
fill_in "Username", :with => @user.username
fill_in "Password", :with => @user.password
click_button "Log in"
end