Background:
Given a source repository exists at "user@domain.com:/first/path.git"
And a destination repository exists at "user@domain.com:/second/path.git"
Scenario:
Given I have a commit, referenced with 'd786239d8sd', in the source repo
When I execute my application in a way I only know how
Then I expect the commit is pushed from the source repo to the destination repo
В большинстве случаев я бы избегал тестирования git и вашей файловой системы (если вы можете помочь в большинстве ваших тестов), поскольку вполне вероятно, что у него будет много времени на установку и демонтаж.Если вы интегрируетесь с git, я бы проверил, чтобы ваш код придерживался контракта, изложенного git.Конечным результатом этого может быть просто установление ожиданий того, что методы были вызваны, или операция командной строки была успешно создана, которая соответствует вашим ожиданиям для выполнения этой операции.
Это отвечает на ваш вопрос традиционным способом «Интернета», сказав: просто не делай этого, чтобы тебе не пришлось делать это.