У меня возникла проблема при попытке протестировать модуль с помощью Test :: Unit. То, что я имел обыкновение делать это:Испытательные модули с тестом :: 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'. Вы сбиваете с толку классы и модули? –