Я пишу приложение, которое упаковывает git
звонки.Мне нужно иметь возможность проверить его (используя rspec
), поэтому я архивирую git-репозиторий и извлекаю его после выполнения теста.
Однако это становится утомительным, потому что вносить изменения в тестовый репозиторийзначит переупаковывать все.Кроме того, мне нужно иметь возможность точно помнить, что содержится в репозитории git, что затрудняет использование тестового репозитория для нескольких тестовых файлов.
Я ищу что-то вроде fakefs где, возможно, я мог бы сделать что-то вроде следующего:
before :all do
@test_repo = FakeGit::init
@test_repo.add(file)
@test_repo.commit(file, "Some message") ===> returns "SHA_ID"
end
Затем где-нибудь в моем тестовом коде я мог бы сделать что-то вроде:
it "should point to a SHA_ID" do
@test_repo.rev_parse("HEAD").should == "SHA_ID"
end