Ich versuche, die stacktrace-file-and-line
(private) -Funktion in clojure.test
zu ersetzen, aber with-redefs-fn
beim Ausführen von Tests scheint keine Wirkung zu haben. Wenn ich den folgenden Code ausführe, wird das Original stacktrace-file-and-line
anstelle meiner anonymen Funktion aufgerufen.Warum wird mein `mit-redefs-fn` erneutverbunden?
(with-redefs-fn
{#'clojure.test/stacktrace-file-and-line (fn [stacktrace] {:file "foo.clj" :line 1})}
#(clojure.test/run-tests 'repl-test.core-test))
Hat with-redefs-fn
nicht mit privaten Funktion arbeiten, oder gibt es etwas über den clojure.test
Namespace, das von der Arbeit verhindert?
Basierend darauf "Ab Clojure 1.8 ist die Clojure-Kernbibliothek selbst mit Direktverknüpfung kompiliert." Ich denke du hast Recht. – James
Ich habe die Clojure-Code-Build-Dateien überprüft (z. B. ant build.xml oder maven pom.xml) und sie haben direktlinking-Eigenschaft auf true, aber ich habe nicht analysiert, ob sie für die in maven central veröffentlichten Jars verwendet werden. –