2016-03-22 4 views
1

Ich arbeite an einem Objective-C, Cocoa-Projekt mit libgit2 und seinen ObjectiveGit-Bindungen.Kann ich ein In-Memory-Git-Repository für Unit-Testing mit libgit2/ObjectiveGit haben?

Um schnelle und saubere Komponententests einzurichten, wäre es schön, ein In-Memory-Repository zu haben. Ist das möglich?

+1

Erstellen Sie unter OS-X eine RAM-Disk mit 'diskutil' von der CLI, suchen Sie einfach nach" diskutil "" ram "" disk "für eine Reihe von Blog-Postings. 'LibGit2Sharp' verwendet einen für seinen Komponententest unter Windows (https://github.com/libgit2/libgit2sharp/#optimizing-unit-testing) – SushiHangover

Antwort

1

Sie können git_repository_new() verwenden, um das Objekt selbst ohne Verweise auf Datenträgerressourcen zu erstellen. Sie können dann Ihr eigenes Objekt db, reference db, configuration und workdir path einfügen.

Aber das Schreiben Ihrer eigenen Datenbanken für alles wäre wahrscheinlich mehr Arbeit als abstrahieren Sie Ihre Verwendung von libgit2, wenn Sie es nicht wirklich für die Tests verwenden möchten.

Verwandte Themen