2012-01-19 75 views
0

我最近升级到Rails 3,我试图让我的黄瓜测试运行。黄瓜/水豚/ 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的一个实例,但浏览器中没有任何反应。

编辑:

我,我在步骤记录如下:

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

我用撬查获了类似的问题。

[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' 

其中固定在我的Gemfile gem 'json', :require => 'json/pure'提前BSON的。

编辑:看起来也有必要强制使用1.9.2(rvm --rvmrc --create 1.9.2)。