2013-05-17 117 views
0

在我的根目錄我有兩個文件,單元測試和Ruby

test_wordplay.rb

wordplay.rb

內test_wordplay。 rb:

require 'test/unit' 
require 'wordplay' 

class TestWordPlay < MiniTest::Unit 
end 

但是當我運行

ruby test_wordplay.rb 

我得到:

usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- wordplay (LoadError) 
    from /usr/local/rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from test_wordplay.rb:2:in `<main>' 

我怎樣才能得到這個工作?取而代之的

require 'wordplay' 

+0

爲什麼'ruby ruby​​ test_wordplay.rb'不是'ruby test_wordplay.rb' –

+0

@Priti只是一個錯字! – Starkers

回答

2

嘗試

require_relative 'wordplay' 

這將使得Ruby尋找在同一個目錄中文件的require_relative在文件。

+1

+1,我個人更喜歡知道我的包含路徑究竟是什麼,但我承認我有時會這樣做:/需要注意的是,除非您開始使用相對路徑,否則您無法以這種方式將測試與「真實」代碼分開。 –

+0

@DaveNewton是的,要求'./wordplay'也有效! – Starkers

2
ruby -I. test_wordplay.rb 

您需要明確設置包含目錄。

+1

這是更標準的解決方案。 –