mockfn
is a library supporting
mockist test-driven-development in Clojure. It is meant to be used
alongside a regular testing framework such as clojure.test
.
The providing
macro replaces a function with a configured mock.
(deftest providing-test
(providing
[(one-fn) :mocked]
(is (= :mocked (one-fn)))))
The verifying
macro works similarly, but also defines an expectation
for the number of times a call should be performed during the test.
(deftest verifying-test
(verifying
[(one-fn) :mocked (at-least 1)]
(is (= :mocked (one-fn)))))
Refer to the documentation for more detailed information, including:
Information for developing this library.
The following command will execute the unit tests:
% clj -X:test
The following command will build a jar file:
% clj -T:build jar
To clean a previous build, run:
% clj -T:build clean
Before releasing, update the library version in the build.clj file.
Make a commit and generate a new tag:
% git commit -a -m "Release: ${VERSION}"
% git tag -a "v${VERSION}" -m "Release: ${VERSION}"
% git push
% git push origin "v${VERSION}"
To release to clojars, run:
% mvn deploy:deploy-file \
-Dfile=target/mockfn-${VERSION}.jar \
-DrepositoryId=clojars \
-Durl=https://clojars.org/repo \
-DpomFile=target/classes/META-INF/maven/me.pmatiello/mockfn/pom.xml
Notice that this step requires clojars to be configured as a server in the local
~/.m2/settings.xml
file.
This software is open-source, but closed to contributions.
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.