【发布时间】:2011-07-11 20:25:57
【问题描述】:
我有一个正在使用 rspec2 (2.6.4)、capybara 和 selenium 测试的应用程序。
当我直接使用 rspec 运行任何请求规范时,测试通过。
当我使用自动测试运行请求规范时,它们都失败并显示一条消息“找不到 ID=** 的用户。
当 autotest 自动重新加载第一个请求测试时,它通过了
Autotest 然后重新加载所有测试,当它到达请求测试时,它们都再次失败
用户正在由 factory-girl 创建并使用 devise 登录,如下所示:
before(:each) do
@user = Factory(:user)
login_as @user
end
after(:each){
logout
}
在我的规范助手中
def login(user)
post login_path, :login => user.login, :password => 'testing'
end
这些是我安装的相关 gem (group :test)
gem "rspec"
gem "rspec-rails"
gem "autotest-rails"
gem "selenium-webdriver", ">= 0.2.2"
gem 'capybara', :git => 'git://github.com/jnicklas/capybara.git'
gem 'launchy'
gem 'database_cleaner'
这让我困惑了一段时间 - 有什么想法吗?甚至对如何开始查看堆栈跟踪以查看两个调用的不同之处有任何想法?
【问题讨论】:
-
autotest无法加载您的spec_helper.rb? -
hmmm - 这是一个想法 - 不确定规范助手中是否有其他测试所需的任何内容 - 我会坚持调试并查看...谢谢
-
好吧,谢谢你的建议,但遗憾的是不是这样......但从我一直在做的调试中可以清楚地看出,问题不在于登录用户,而在于在测试中创建了用户,所以我开始研究交易和更清洁的事情......
标签: ruby-on-rails ruby-on-rails-3 devise rspec2 capybara