Вы можете поместить тестовые блоки it
в цикл и просмотреть коллекцию всех раз, для которых вы хотите каждый (для примера ниже эти элементы находятся в коллекции search_items
)
require 'spec_helper'
describe IncomingMailsController do
include Devise::TestHelpers
search_items.each do |item|
it "should find the correct text (#{item}) in the sample" do
sample_text = '100s of these'
target_text = item
.... ALL Kinds of stuff to process (30+ lines)
thread.content.should == 'find me'
end
end
end
ОБНОВЛЕНИЕ
Я заметил в комментарии к другому ответу в этой теме, что у вас есть каталог с более чем 100 файлами образцов, вы можете получить список имен файлов, используя Dir # Glob .Затем вы можете использовать это в цикле для генерации it
тестовых случаев.
ОБНОВЛЕНИЕ 2
Dir.glob('/path/to/files/*.txt').each do |file_name|
it "should find the correct text in the sample #{file_name}" do
file_content = File.open(file_name, "rb")
sample_text = '100s of these'
target_text = 'fine me'
.... ALL Kinds of stuff to process (30+ lines)
thread.content.should == 'find me'
end
end
Возможно, вам придется поиграть с полным путемимя_файла, но это поможет вам.