2013-05-17 7 views
0

В моей корневой директории у меня есть два файла,Модульное тестирование с Рубином

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>' 

Как я могу получить эту работу?

+0

Почему 'ruby ruby ​​test_wordplay.rb' не' ruby ​​test_wordplay.rb' –

+0

@Priti Просто опечатка! – Starkers

ответ

2

Вместо

require 'wordplay' 

попробовать

require_relative 'wordplay' 

Это сделает Руби искать файл в том же каталоге, что и файл require_relative находится.

+1

+1, лично я предпочитаю точно знать, что такое мой путь включения, но я признаю, что иногда это делаю:/Предостережение заключается в том, что вы не можете отделять свои тесты от «реального» кода таким образом, если вы не начнете использовать относительные пути. –

+0

@DaveNewton Да, требуется «./wordplay», также работал! – Starkers

2
ruby -I. test_wordplay.rb 

Вам нужно для явного указания каталога include.

+1

Это более стандартное решение. –

Смежные вопросы