2012-01-19 21 views
0

私は最近Rails 3にアップグレードしました。キュウリ試験を実行しようとしています。私がテストを実行するとCucumber/Capybara/Selenium-Webdriverエラー?

、私は次のエラーを取得しています:

wrong number of arguments (2 for 1) (ArgumentError) 
./features/step_definitions/user_steps.rb:24:in `/^I am logged in$/' 
features/account.feature:8:in `Given I am logged in' 

このテストでは、私のログインページを開くよりも何もしません。私のフィーチャー・ファイルの先頭に@javascriptフラグを含めないと、うまく動作します。私がそれを含めると、エラーが発生し、Selenium(私は思う)がFirefoxのインスタンスを開きますが、ブラウザで何も起こりません。

EDIT:

私の私はステップにログインしていますが、次のようになります

Given /^I am logged in$/ do 
    @user = Factory(:user, :email => "[email protected]") 
    @user.activate 
    visit path_to("the login page") 
end 
+1

あなたの「私はログインしましたか」というステップはどのように見えますか? – MrDanA

+0

私は私が質問にステップインしている私をペーストしました。私もpath_to( "ログインページ")を "/ login"に置き換えて試してみました – blim8183

+0

あなたの工場では問題がありますか? 2つの引数を渡すのは唯一のことです。何がありますか:ユーザーファクトリーはどのように見えますか? – MrDanA

答えて

0

私はてこを使って同様の問題を突き止め。私のGemfileでBSONのgem 'json', :require => 'json/pure'先で固定し

[1] pry(#<Cucumber::Rails::World>)> step %{I go to login} 
ArgumentError: wrong number of arguments (2 for 1) 
from ~/.rvm/gems/ruby-1.8.7-p352/gems/multi_json-1.0.4/lib/multi_json/engines/json_common.rb:9:in 'parse' 

編集:強制的に1.9.2(rvm --rvmrc --create 1.9.2)を使用する必要があるように見えます。

関連する問題