我最近升级到了Rails3,我正在尝试运行我的Cucumber测试。
当我运行测试时,我得到以下错误:
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 => "cucumber@test.com")
@user.activate
visit path_to("the login page")
end发布于 2012-02-17 08:39:44
我用pry发现了一个类似的问题。
[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)。
https://stackoverflow.com/questions/8931399
复制相似问题