我可以有一个内存中的 git 存储库用于使用 libgit2 / ObjectiveGit 进行单元测试吗?

Can I have an in-memory git repository for unit-testing with libgit2 / ObjectiveGit?

我在 Objective-C、Cocoa 项目上使用 libgit2 和它的 ObjectiveGit 绑定。​​

为了设置快速和干净的单元测试,最好有一个内存存储库。这可能吗?

您可以使用 git_repository_new() 创建对象本身,而不需要任何对磁盘资源的引用。然后,您可以放入自己的对象数据库、引用数据库、配置和工作目录路径。

但是,如果您真的不想将 libgit2 用于测试,则为所有内容编写您自己的数据库可能比抽象化您对 libgit2 的使用要更费力。