私はrspec2(2.6.4)、capybaraとseleniumでテストしているアプリケーションを持っています。異なる答えを与えるautotestとrspec
rspecで任意の要求仕様を直接実行すると、テストに合格します。
私は彼らのすべてがIDを持つユーザー= **を見つけることができません」というメッセージで失敗する自動テストで要求仕様を実行します。
自動テストは、自動的に最初の要求のテストを再ロードし、それが通過すると
オートテストは、すべてのテストを再ロードし、それが要求テストに達したときに、それらすべてが再び失敗
ユーザーは、工場出荷時の少女によって作成され、中に記録されています
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
を持って次のように工夫を使用して210 これらは私がインストールされている関連の宝石(グループ:テスト)です
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'
これは、しばらくの間、今私に不可解されています - 任意の考えを誰が?スタックトレースを調べて、2つの呼び出しが異なるところを調べる方法についてのあらゆる考えはありますか?
'autotest'があなたの' spec_helper.rb'をロードするために失敗していますか? –
hmmm - これは考えです - 他のテストに必要なものはスペックヘルパーには何もありません - 私はデバッグをスティックして見ます...ありがとう – chrispanda
提案に感謝しますが、悲しいことではありませんそれは...しかし、私が行ってきたデバッグから明らかになっているのは、問題はログインしているユーザーではなく、テストで作成されているので、トランザクションと何かを見始めているということです... – chrispanda