Gibt es ein Mocking/Stubbing-Framework für Common Lisp?
EmacsLispMock sieht toll aus, aber es ist ein Emacs-Lisp-Framework, und ich bin auf der Suche nach etwas von Common Lisp zu verwenden.
Irgendwelche Vorschläge?
Gibt es ein Mocking/Stubbing-Framework für Common Lisp?
EmacsLispMock sieht toll aus, aber es ist ein Emacs-Lisp-Framework, und ich bin auf der Suche nach etwas von Common Lisp zu verwenden.
Irgendwelche Vorschläge?
Ich habe eine Bibliothek mit einem Makro geschrieben, das der Antwort von @6502 sehr ähnlich ist ( with-mocked-functions
), sondern ein wenig allgemeiner. Sie bietet auch with-added-methods
die es Ihnen ermöglicht, Mock-Methoden für einen begrenzten dynamischen Bereich zu schreiben. Sie können es hier finden: https://github.com/bytecurry/bytecurry.mocks
Sie können versuchen, die Neudefinition einer Funktion in ein Makro zu packen
(defmacro with-fun (origfn mockfn &body body)
`(let ((it ,origfn))
(setf ,origfn ,mockfn)
,@body
(setf ,origfn ,it)))
Dies ist nur eine Idee, und Sie müssen ein solches Makro implementieren. Sie können googeln nach profile
Implementierung, die genau das tut: eine Funktion durch eine andere ersetzen und Informationen zur Profilerstellung hinzufügen. Sie können einige Ideen von dort übernehmen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.