我已经通过测试通过了测试我的drupal应用程序黄瓜:
Given /^I am authenticated as a "([^"]*)" user$/ do |role|
visit('/user')
fill_in "name", :with => "user_#{role.downcase}"
fill_in "pass", :with => "password"
click_button
visit('/') #gets around a 302 redirect issue
response_body.should contain("Log out")
end
我的env.rb是这样的:
require 'rspec/expectations'
require 'webrat'
require 'test/unit/assertions'
World(Test::Unit::Assertions)
Webrat.configure do |config|
config.mode = :mechanize
end
World do
session = Webrat::Session.new
session.extend(Webrat::Methods)
session.extend(Webrat::Matchers)
session.visit('http://localhost')
session
end
当MAMP上的虚拟主机是默认的localhost时,这很好。但是当我使用相同的文档创建另一个虚拟主机(并更新session.visit以使用新的根)时,此测试失败。会议似乎丢失了。
有谁知道如何调试这个?我查看了html输出,它将内容显示为未经身份验证的用户,这就是我认为会话正在重置的原因。
修改
我检查了虚拟主机,它们完全一样。测试失败的测试往往会慢一个数量级。
答案 0 :(得分:0)
我最终搬到了水豚。有机械化的版本在张贴表单数据等方面有一些错误.Capybara工作得更好。