Я тоже новичок в Ruby и задаюсь тем же вопросом. Часть, которую я не понял, заключалась в том, как организовать их иерархически, чтобы они соответствовали потенциально иерархической организации компонентов в каталоге lib, а затем запускать их все как пакет.
Я не так долго гуглил, но мои результаты уже хуже, чем ожидалось. Самое полезное, что я нашел, - это из ruby wiki:
Классы тестовых примеров могут быть собраны вместе в тестовые наборы, которые представляют собой файлы Ruby, для которых требуются другие тестовые примеры:
# File: ts_allTheTests.rb
require 'test / unit'
require 'testOne'
require 'testTwo'
require 'testThree'
Таким образом можно естественным образом сгруппировать связанные тестовые примеры. Кроме того, наборы тестов могут содержать другие наборы тестов, что позволяет построить иерархию тестов.
Раньше я избегал подкаталогов в моем тестовом каталоге и делал что-то подобное в моем Rakefile или любом рубиновом файле, который фактически выполняет тесты:
$LOAD_PATH << File.dirname(__FILE__)
require 'test/unit'
Dir.glob('test/test_*', &method(:require))
Итак, если я объединю эти два метода, у меня будет файл для каждого каталога, который динамически требует тестов из этого каталога, которые, в свою очередь, потребуются файлом для родительского каталога. Но это, похоже, сводит на нет мои первоначальные попытки избежать скуки.
Затем я нашел несколько классы в ruby-doc, который звучал актуально, но недостаточно документирован. Однако похоже, что вверху будет больше информации для Test :: Unit, который я легко мог пропустить. Я еще не прочитал все это, но это выглядит многообещающе.
person
Stoutie
schedule
13.01.2013