В недавнем проекте мне нужно проверить класс Java, который использует определенный репозиторий Git. Для того, чтобы класс работал, он должен идти по пути к репозиторию, а затем делать свою магию.
Меня интересует, можно ли эмулировать репозиторий Git в JUnit или любыми другими средствами предоставлять макетный репозиторий, с которым может быть протестирован класс.
Использование реального репозитория Git, посвященного этим тестам, будет вариантом, но из-за природы среды было бы трудно обеспечить, чтобы тесты могли запускаться с каждой машины, которую другой разработчик может использовать для запуска тестов. Кроме того, фактический репозиторий невелик, и для его клонирования потребуется не менее 10 минут.
До сих пор мне не удалось найти способ эмулировать репозиторий, возможно, 10-15 коммитов внутри тестового класса JUnit, поэтому каждое предложение приветствуется.
О да, репозиторий в идеале также имел бы несколько субрепозиторий/подмодулей, но я также был бы доволен решением, обеспечивающим единое репо.
Несколько советов: