2012-02-23 3 views
1

У меня есть этот метод в моем классеSpec для метода

def open 
    File.open(@filepath,"w") do |f| 
    @gz = Zlib::GzipWriter.new(f) 
    @gz.write(%[<?xml version="1.0" encoding="UTF-8"?>\n]) 
    @gz.write(%[<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n]) 
    yield self 
    @gz.write(%[</urlset>]) 
    @gz.close 
    end 
end 

Как я могу написать хорошую полную спецификацию для этого метода.

Заранее спасибо

+0

Возможно, вам следует рассмотреть название метода. Если бы мне пришлось вызвать метод под названием 'open', я бы не ожидал, что он закрывает сам файл, а скорее будет отвечать за закрытие. – jupp0r

+0

Я знаю, что имя метода не согласуется Я его изменю, но пока мне нужна помощь в спецификации – Mari

ответ

0

Создание временного файла, использовать его в качестве @filepath, писать какие-то данные, считывать данные обратно через File.read(filename), распаковать его, сравнить.

+0

Можете ли вы указать код :( – Mari

1

Вы можете использовать fakefs взаимодействовать с файловой системой

+0

Можете ли вы предоставить какой-то код – Mari

Смежные вопросы