模拟一个git repo来测试

是否有一种简单的方法来模拟git服务器/ repo以进行单元测试?我不想测试git本身,而是我的代码如何与git交互.

我想做点什么

create git@localhost.com:myRepo.git c:/somepath
copy somefile.txt c:/somepath

然后当我

git clone git@localhost.com:myRepo.git

返回c:/ somepath(somefile.txt)的全部内容,无需身份验证.我想测试我的代码如何处理克隆,所以对这个git repo的所有调用都应该自动通过身份验证.

我看了git守护进程,但是它运行在真正的git上,所以我的测试代码最终必须进行大量的repo内容管理(添加,提交,分支等),这似乎是不必要的.

最佳答案 看起来您可以将JGit用于此目的.以下是使用它创建一个空存储库的示例,该存储库可以通过http连接到:

https://github.com/centic9/jgit-cookbook/blob/master/httpserver/src/main/java/org/dstadler/jgit/server/Main.java

点赞