Эмулировать Git-репо в JUnit

1

В недавнем проекте мне нужно проверить класс Java, который использует определенный репозиторий Git. Для того, чтобы класс работал, он должен идти по пути к репозиторию, а затем делать свою магию.

Меня интересует, можно ли эмулировать репозиторий Git в JUnit или любыми другими средствами предоставлять макетный репозиторий, с которым может быть протестирован класс.

Использование реального репозитория Git, посвященного этим тестам, будет вариантом, но из-за природы среды было бы трудно обеспечить, чтобы тесты могли запускаться с каждой машины, которую другой разработчик может использовать для запуска тестов. Кроме того, фактический репозиторий невелик, и для его клонирования потребуется не менее 10 минут.

До сих пор мне не удалось найти способ эмулировать репозиторий, возможно, 10-15 коммитов внутри тестового класса JUnit, поэтому каждое предложение приветствуется.

О да, репозиторий в идеале также имел бы несколько субрепозиторий/подмодулей, но я также был бы доволен решением, обеспечивающим единое репо.

Теги:
testing
junit
mocking

1 ответ

1
Лучший ответ

Несколько советов:

  1. Можно ли включить часть репозитория в тестовые ресурсы?
    • В этом случае вам не придется клонировать его снова и снова.
  2. Java-интерфейсы более высокого уровня могут манипулировать репозиториями git.
    • Посмотрите на JGit.
  • 0
    Мы используем JGit для запросов к репо, но идея состояла в том, чтобы протестировать методы и классы, которые полагаются на репо, к которому мы обращаемся через JGit. К сожалению, репо слишком велико, чтобы добавить его в качестве тестового ресурса. На данный момент мы согласились с множеством насмешек и заглушек некоторых ответов методов, но теперь у нас есть отдельная проблема, которая решается в нескольких других вопросах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню