kernel_require.rb: dans `require ': impossible de charger une telle erreur de fichier
Je suis en utilisant version de Ruby 1.9.3 pour le moment (bien que je reçois le même problème avec Ruby 2.0.0). Sur Windows 7 64 bits. Je suis "Le Concombre Livre" et s'est coincé dans le chapitre 7.2 - "l'élimination du double emploi avec des Transformations". Mon dossier structure est comme suit:
\cash_withdrawal
\cash_withdrawal\Gemfile
\cash_withdrawal\Gemfile.lock
\cash_withdrawal\features
\cash_withdrawal\features\cash-withdrawal.feature
\cash_withdrawal\features\step_definitions
\cash_withdrawal\features\step_definitions\cash_withdrawal_steps.rb
\cash_withdrawal\features\step_definitions\lib
\cash_withdrawal\features\step_definitions\lib\nice_bank.rb
\cash_withdrawal\features\support
\cash_withdrawal\features\support\env.rb
\cash_withdrawal\features\support\transforms.rb
\cash_withdrawal\features\support\world_extensions.rb
Dans mon cash_withdrawal_steps.rb
fichier que j'ai:
require 'CAPTURE_CASH_AMOUNT'
Given /^I have deposited (#{CAPTURE_CASH_AMOUNT}) in my Account$/ do |amount|
my_account.deposit(amount)
my_account.balance.should eq(amount),
"Expected the balance to be #{amount} but it was #{my_account.balance}"
end
Quand je lance cucumber
j'obtiens:
C:\Users\Nikita.Harrison\AutomatedTesting\cash_withdrawal>le concombre
impossible de charger le fichier -- CAPTURE_CASH_AMOUNT (LoadError)
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:
r equire'
r equire'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in
C:/Users/Nikita.Harrison/AutomatedTesting/cash_withdrawal/fonctionnalités/step_definiti
ons/cash_withdrawal_steps.rb:1:dans<top (required)>'
charge"
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/rb_support/rb_l
anguage.rb:122:in
C:/Ruby193/lib/ruby/gems/1.9.1/gems/concombre-1.3.10/lib/concombre/rb_support/rb_l
anguage.rb:122:enload_code_file'
load_file' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
_code.rb:180:in
_code.rb:83:dansblock in load_files!' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
chaque' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
_code.rb:82:in
_code.rb:82:dansload_files!' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime.rb:184:
load_step_definitions'
in
C:/Ruby193/lib/ruby/gems/1.9.1/gems/concombre-1.3.10/lib/concombre/runtime.rb:42:j'
nrun!'
exécuter!'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/cli/main.rb:47:
in
C:/Ruby193/lib/ruby/gems/1.9.1/gems/concombre-1.3.10/bin/concombre:13:
<top (re quired)>' C:/Ruby193/bin/cucumber:23:in
charge"
C:/Ruby193/bin/concombre:23: `
Et si je lance irb
puis exécutez require "CAPTURE_CASH_AMOUNT"
j'obtiens cette erreur:
de l'irb(main):006:0> exiger "CAPTURE_CASH_AMOUNT" LoadError: impossible de charger
fichier -- CAPTURE_CASH_AMOUNT
à partir de C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:55:dansrequire'
exigent"
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:55:in
à partir de (cisr):6
à partir de C:/Ruby193/bin/irb:12:in `
J'ai essayé de nombreux correctifs, y compris "require_relative" et rien ne semble pouvoir résoudre mon problème.
Si je supprime require 'CAPTURE_CASH_AMOUNT'
de la cash_withdrawal_steps.rb
fichier et exécuter le concombre puis mon 'Étape de Définition de" ne pas montrer que définis:
C:\Users\Nikita.Harrison\AutomatedTesting\cash_withdrawal>cucumber
Feature: Cash withdrawal
@test Scenario: Successful withdrawal from an account in credit #
features\cash_with drawal.feature:4
Given I have deposited $100 in my Account # features\cash_with drawal.feature:5
When I withdraw $20 # features/step_defi nitions/cash_withdrawal_steps.rb:7
Then $20 should be dispensed # features/step_defi nitions/cash_withdrawal_steps.rb:11
And the balance of my account should be $80 # features/step_defi nitions/cash_withdrawal_steps.rb:15
1 scenario (1 undefined) 4 steps (3 skipped, 1 undefined) 0m0.006s
You can implement step definitions for undefined steps with these
snippets:
Given(/^I have deposited $(\d+) in my Account$/) do |arg1| pending
\# express the regexp above with the code you wish you had end
Si j'ajoute require File.join(File.dirname("C:/Users/Nikita.Harrison/AutomatedTesting/cash_withdrawal/features/support"), 'support', 'transforms')
à la env.rb
fichier et de l'exécuter cucumber
j'obtiens:
C:/Users/Nikita.Harrison/AutomatedTesting/cash_withdrawal/features/support/trans
forms.rb:1: warning: already initialized constant CAPTURE_CASH_AMOUNT
Feature: Cash withdrawal
@test Scenario: Successful withdrawal from an account in credit #
features\cash_with drawal.feature:4
Given I have deposited $100 in my Account # features\cash_with drawal.feature:5
When I withdraw $20 # features/step_defi nitions/cash_withdrawal_steps.rb:7
Then $20 should be dispensed # features/step_defi nitions/cash_withdrawal_steps.rb:11
And the balance of my account should be $80 # features/step_defi nitions/cash_withdrawal_steps.rb:15
1 scenario (1 undefined) 4 steps (3 skipped, 1 undefined) 0m0.013s
You can implement step definitions for undefined steps with these
snippets:
Given(/^I have deposited $(\d+) in my Account$/) do |arg1| pending
\# express the regexp above with the code you wish you had end
Je sais que je dois être en train de faire quelque chose de mal ici, mais j'ai juste ne peut pas savoir ce et ont besoin d'aide.
Gemfile contenu:
# This Gemfile lists all Gems used throughout the book - with versions.
source :rubygems
# Build stuff
gem 'bundler', '1.5.3'
#gem 'rake', '10.1.1'
#gem 'watchr', '0.7'
#gem 'bcat', '0.6.2'
# General stuff
#gem 'aruba', '0.4.11'
gem 'cucumber', '1.3.10', :require => 'cucumber'
gem 'rake', '10.1.1'
gem 'rspec', '2.14.1', :require => 'cucumber'
gem 'rspec-expectations', '2.14.5'
gem 'watir-webdriver', '0.6.7'
Je pense que j'ai inclus tous les renseignements nécessaires.
source d'informationauteur Kita
Vous devez vous connecter pour publier un commentaire.
Je viens de rencontré le même problème, et je crois que c'est un problème avec bundler. En tout cas, j'ai résolu le problème en exécutant:
Espérons que cette aide!
Il semble que j'ai rencontré le même problème avant. J'ai corrigé par l'ajout d'une simple
avant tout mon besoin de ligne de code.
Chaque fois que vous installez un nouveau joyau vous devez mettre à jour le bundle (comme @zwolfe souligné).
Par conséquent, exécuter:
bundle update
Droit après, vous devriez être en mesure d'exécuter vos scripts Ruby soit en utilisant simplement:
ruby <yourRubyScript.rb>
ou
bundle exec ruby <yourRubyScript.rb