Как проверить создание файла с помощью RSpec? - PullRequest
5 голосов
/ 02 февраля 2011

У меня есть простой FileCreator класс Ruby, который имеет 1 метод create, который создает пустой текстовый файл на моем рабочем столе. Используя RSpec, как бы я протестировал этот метод создания, чтобы убедиться, что файл был создан, без необходимости создавать файл? Буду ли я использовать RSpec::Mocks? Может кто-нибудь, пожалуйста, укажите мне в правильном каталоге? Спасибо! enter image description here

Ответы [ 3 ]

8 голосов
/ 02 февраля 2011

После вызова file_creator.create(100) вы можете найти в папке все файлы File*.txt и убедиться, что количество совпадает.(Убедитесь, что ваша спецификация удалила тестовые файлы после завершения.)

Dir.glob(File.join(File.expand_path("~/Desktop"), "File*.txt")).length.should == 100

Использование Mocks: Вы можете сделать что-то подобное, чтобы убедиться, что метод File.open действительно вызывается (чтобы проверитьфайлы на самом деле создаются, однако, вы можете рассмотреть возможность создания файлов, как в первой половине моего ответа).

File.should_receive(:open).exactly(100).times
2 голосов
/ 02 июня 2013

Вы также можете попытаться использовать что-то вроде FakeFS , которое копирует действительную файловую систему.

0 голосов
/ 30 ноября 2017

Самый простой способ сделать это, как показано ниже:

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