Helfen Sie mir zu verstehen, warum die Tests dieses Projekts laufen, wenn sie direkt ausgeführt werden, aber nicht, wenn sie über Rake ausgeführt werden. Der Fehler bei der Ausführung über eine Rake TestTask:
** Execute test
/home/myockey/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -I"lib:test" "/home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/data_test.rb" "test/unit/station_test.rb" "test/unit/raw_test.rb" "test/unit/parser_test.rb" "test/unit/report_test.rb"
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- test/unit/../metar_test_helper.rb (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from test/unit/data_test.rb:4:in `<top (required)>'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `block in <main>'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each'
from /home/myockey/.rvm/gems/ruby-1.9.2-p136/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `<main>'
rake aborted!
Wenn ich das Skript direkt ausführe, erhalte ich folgende Meldung:
myockey@myockey-K61IC:~/opt/joeyates-metar-parser-cdca19f/test/unit$ ruby data_test.rb
Loaded suite data_test
Started
...................................................
Finished in 0.084939 seconds.
51 tests, 121 assertions, 0 failures, 0 errors, 0 skips
Der Anfang der Ruby-Dateien sieht wie folgt aus:
#!/usr/bin/env ruby
# encoding: utf-8
require File.dirname(__FILE__) + '/../metar_test_helper'
class TestMetarData < Test::Unit::TestCase
Beachten Sie, dass ich versucht habe, die Dateierweiterung .rb zu metar_test_helper hinzuzufügen, ohne Erfolg. Seien Sie versichert, dass eine Datei mit dem Namen metar_test_helper.rb im übergeordneten Verzeichnis der Datei existiert und dass sie über ausreichende Berechtigungen verfügt, um zugänglich zu sein.
Es wurde ein Kopfgeld ausgesetzt. Ich weiß, dass dies ein einfaches Pfadproblem sein muss, aber ich wäre wirklich dankbar, wenn Sie mir helfen würden, es zu lösen und zu verstehen.