[CLJ-866] Provide a clojure.test function to run a single test case with fixtures Created: 27/Oct/11 Updated: 22/Nov/13 Resolved: 22/Nov/13
|Fix Version/s:||Release 1.6|
|Patch:||Code and Test|
clojure.test test cases are functions and can be invoked directly. However, in the case that the test relies on fixtures, this does not work. It should be possible to run a single test case with all fixtures applied.
Approach: Add new test-vars that takes a collection of vars to run.
Patch: code: clj-866-test-vars.patch, test:
Screened by: Alex Miller
|Comment by Anthony Grimes [ 22/Oct/12 6:17 PM ]|
I just added clj-866-test-vars.patch (22/Oct/12 6:09PM).
I had to implement this hackishly in Leiningen a few days ago, so I'm very excited to get this functionality in clojure.test itself.
This patch adds a test-vars function that solves this problem (and is more general). You can test as many vars as you want with it, with fixtures. It works by grouping vars passed by their namespace and then running them all with appropriate fixtures applied. Being able to run a single test isn't the problem here, being able to run only specific tests is. If we wrote a function to run one test with fixtures but we actually needed to run several, just not all tests, we'd end up having to run once-fixtures more than once which is wasteful. I think test-vars is a good solution that solves both this problem and the one I just mentioned.
|Comment by Alex Miller [ 04/May/13 9:36 AM ]|
This is highly useful. Could you add a test to the patch?
|Comment by Gary Fredericks [ 03/Aug/13 3:35 PM ]|
Attached patch with a test, which should apply cleanly on top of Anthony's.
Also made sure a mostly-equivalent version (that used test-var) was failing without the new function.
|Comment by Alex Miller [ 08/Aug/13 2:20 AM ]|
New version of the patch incorporating feedback has been attached, switching to Vetted so someone can take a look again.