2013-08-19 131 views
1

我試圖從崇高文本運行樣品的測試套件運行測試3.無法從崇高的文本3

這是我的榜樣,我使用bundle gem foo -t minitest

class TestFoo < MiniTest::Unit::TestCase 
    def test_that_it_has_a_version_number_test 
    refute_nil ::Foo::VERSION 
    end 

    def test_it_does_something_useful_test 
    assert true 
    end 
end 

我已經安裝了RubyTest創建封裝,結合運行測試套件是Ctrl + Shift + T

我得到以下錯誤:

/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x7F' in expression 
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x02' in expression 
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x01' in expression 
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x01' in expression 
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1:in `<main>': uninitialized constant ELF (NameError) 
[Finished in 0.3s with exit code 1] 

正在評論

我已經使用rvm安裝了ruby 2.0.0p247。如果我從CLI運行測試,使用

ruby -Itest foo_test.rb測試運行良好。

我也確保了在RubyTest.sublime的設置鍵check_for_rvm設置爲true

什麼,似乎這裏是什麼問題?請讓我知道是否有任何可能需要幫助我的信息。

編輯:我試圖在Mac OS X 10.8.4與ST3和紅寶石2.0.0p247。在Rakefile中,我還在RakeTask中添加了這一行t.test_files = FileList['test/test_*.rb']

我看着這bug並從快捷方式啓動ST。但測試仍然沒有運行。

回答

0

我嘗試了一切,從minitest運行的現有項目中更改配置到重新安裝ST3包以重新安裝ruby本身作爲最後的手段。問題原來是的方式變小了。

當我執行這個命令bundle foo -t minitest將創建下列文件:

bundle gem foo -t minitest 
     create foo/Gemfile 
     create foo/Rakefile 
     create foo/LICENSE.txt 
     create foo/README.md 
     create foo/.gitignore 
     create foo/foo.gemspec 
     create foo/lib/foo.rb 
     create foo/lib/foo/version.rb 
     create foo/test/minitest_helper.rb 
     create **foo/test/test_foo.rb** 
     create foo/.travis.yml 

通知包含測試例的文件名。我將它重命名爲foo_test,它工作正常。

我現在需要弄清楚,爲什麼minitest需要該特定格式的文件名,並且如果可能,請更改/編輯它。

0

從查看this issue,它可能與您的捆綁器生成的binstubs有關。

望着RVM docs,你可能會想嘗試運行:

gem regenerate_binstubs 

或:

bundle install --binstubs 

如果還有以後的問題,我想嘗試完全去除binstubs。 說明可以找到here