kernel_require.rb:55:in `require': cannot load such file-Fehler
Ich bin mit Ruby-version 1.9.3 im moment (obwohl ich das gleiche Problem mit Ruby 2.0.0). Auf Windows 7 64-bit. Ich bin nach "Die Gurke-Buch" und stecken Sie das Kapitel 7.2 - "Entfernen von Überschneidungen mit den Verwandelt". Meine Ordner-Struktur ist wie folgt:
\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
In meinem cash_withdrawal_steps.rb
- Datei habe ich:
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
Wenn ich cucumber
ich bekommen:
C:\Users\Nikita.Harrison\AutomatedTesting\cash_withdrawal>Gurke
cannot load such file -- CAPTURE_CASH_AMOUNT (LoadError)
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in
r equire'
r equire'
C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:55:in
C:/Benutzer/Nikita.Harrison/AutomatedTesting/cash_withdrawal/features/step_definiti
ons/cash_withdrawal_steps.rb:1:<top (required)>'
laden"
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/Gurke-1.3.10/lib/Gurke/rb_support/rb_l
anguage.rb:122:load_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
Schaft.rb:83:block in load_files!' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
jeder' C:/Ruby193/lib/ruby/gems/1.9.1/gems/cucumber-1.3.10/lib/cucumber/runtime/support
_code.rb:82:in
Schaft.rb:82:load_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/Gurke-1.3.10/lib/Gurke/runtime.rb:42:ich
nrun!'
ausführen!'
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/Gurke-1.3.10/bin/Gurke:13:
<top (re quired)>' C:/Ruby193/bin/cucumber:23:in
laden"
C:/Ruby193/bin/Gurke:23:in `
Und wenn ich irb
führen require "CAPTURE_CASH_AMOUNT"
bekomme ich diesen Fehler:
irb(main):006:0> require "CAPTURE_CASH_AMOUNT" LoadError: kann nicht geladen werden
eine solche Datei -- CAPTURE_CASH_AMOUNT
aus C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:55:require'
erfordern"
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
e.rb:55:in
from (irb):6
aus C:/Ruby193/bin/irb:12:in `
Habe ich versucht, viele Bug-fixes, darunter 'require_relative' und nichts scheint mein problem zu lösen.
Wenn ich entfernen require 'CAPTURE_CASH_AMOUNT'
von der cash_withdrawal_steps.rb
- Datei und führen Sie die Gurke dann mein Schritt "Definition" nicht zeigen, wie definiert:
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
Wenn ich require File.join(File.dirname("C:/Users/Nikita.Harrison/AutomatedTesting/cash_withdrawal/features/support"), 'support', 'transforms')
zu den env.rb
- Datei, und führen Sie cucumber
ich bekommen:
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
Ich weiß, ich muss etwas falsch hier, aber ich kann einfach nicht herausfinden, was und brauche Hilfe.
Gemfile Inhalt:
# 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'
Ich denke ich habe alle Informationen, die benötigt werden.
InformationsquelleAutor Kita | 2014-02-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur ich hatte das gleiche Problem, und ich glaube, es ist ein problem mit bundler. Auf jeden Fall habe ich das problem gelöst, indem ausgeführt wird:
Hoffe, das hilft!
InformationsquelleAutor zwolfe
Es scheint, ich hatte das gleiche Problem vor. Ich habe es behoben, indem eine einfache
bevor alle meine verlangen Zeile code.
InformationsquelleAutor Fabrice31
Wenn Sie installieren eine neue Perle, die Sie benötigen, um update das bundle (wie @zwolfe darauf hingewiesen).
Daher laufen:
bundle update
Rechts, nachdem Sie sollten in der Lage sein, um ausführen Ihre Ruby-Skripte entweder mit einfach:
ruby <yourRubyScript.rb>
oder
bundle exec ruby <yourRubyScript.rb
InformationsquelleAutor SimionZ