Writing cucumber features since recently I'm getting a warning
[DEPRECATION] "eval" is deprecated. Please use "evaluate" instead
Everything works fine, but this warning disturbs me. I'm using Rails 3.1.0 and ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]. My files are:
item.feature:
Background: logged in as an admin
Given I am logged in as an administrator
user_steps.rb
Given /^I am logged in as an administrator$/ do
steps %Q{
Given the following users exist:
| email | password | role |
| [email protected] | admin_password | admin |
| [email protected] | visitor_password | registered |
And I am on the "home page"
And I follow "Login"
And I fill in "Email" with "[email protected]"
And I fill in "Password" with "admin_password"
And I press "Sign in"
Then I should see "admin"
}
end
And as a result I have:
Background: logged in as an admin # features/item.feature:6
[DEPRECATION] "eval" is deprecated. Please use "evaluate" instead
[DEPRECATION] "eval" is deprecated. Please use "evaluate" instead
[DEPRECATION] "eval" is deprecated. Please use "evaluate" instead
[DEPRECATION] "eval" is deprecated. Please use "evaluate" instead
Ran into the exact same issue. It's not breaking anything, it's just ugly.
It appears to be a mismatch of code. Gherkin has deprecated eval
in favor of evaluate
and Cucumber is calling the old method. There has all ready been a pull request and a closed issue for this on github
The quickest and easiest solution until Cucumber is updated, probably soon, is to just add this line to your Gemfile:
gem 'gherkin', '<= 2.11.6'
This will force gherkin back to a time before eval was deprecated.
Edit:
It appears that the cucumber gem has been updated and does not produce deprecation warnings anymore.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With