Как проверить получение списка файлов в каталоге с помощью RSpec? - PullRequest
2 голосов
/ 18 мая 2010

Я довольно новичок в мире RSpec. Я пишу RubyGem, который имеет дело со списком файлов в указанном каталоге и любых подкаталогах. В частности, он будет использовать Find.find и добавлять файлы в массив для последующего вывода.

Я хотел бы написать спецификацию для проверки этого поведения, но не знаю, с чего начать с точки зрения подделки каталога файлов, создания заглушек Find.find и т. Д. Это то, что у меня пока мало:

it "should return a list of files within the specified directory" do
end

Любая помощь высоко ценится!

Ответы [ 2 ]

2 голосов
/ 18 мая 2010

Не думаю, что вам нужно тестировать библиотеку, но если у вас есть метод, подобный

def file_names
  files = []
  Find.find(Dir.pwd){|file| files << file}
  ........
end

вы можете заглушить метод find, чтобы получить список файлов, например

it "should return a list of files within the specified directory" do
  Find.stub!(:find).and_return(['file1', 'file2'])
  @object.file_names
end

или если вы хотите установить ожидание, тогда вы можете сделать

it "should return a list of files within the specified directory" do
  Find.should_receive(:find).and_return(['file1', 'file2'])
  @object.file_names
end
2 голосов
/ 18 мая 2010

Вы можете использовать камень fakeFS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...