Я столкнулся с проблемой при попытке протестировать модуль с помощью Test :: Unit. Раньше я делал вот что:
my_module.rb:
class MyModule
def my_func
5 # return some value
end
end
test_my_module.rb:
require 'test/unit'
require 'my_module'
class TestMyModule < Unit::Test::TestCase
include MyModule
def test_my_func
assert_equal(5, my_func) # test the output value given the input params
end
end
Теперь проблема в том, что если my_module объявляет метод инициализации, он включается в тестовый класс, и это вызывает кучу проблем, поскольку Test :: Unit, похоже, переопределяет / генерирует метод инициализации. Итак, мне интересно, как лучше всего протестировать модуль?
Мне также интересно, должен ли мой модуль стать классом на этом этапе, поскольку метод инициализации предназначен для инициализации состояния чего-либо. Мнения?
Заранее спасибо !
MyModule
является классом, тогдаinclude MyModule
подниметTypeError
. Вы путаете классы и модули? - person Andrew Grimm   schedule 30.09.2010