Wow, I never would have figured that out from the docs. Thanks.

Just found a different problem with my solution: nested tests, as described 
in the docs, prevent the use of fixtures. You have to add test-ns-hook when 
using nested tests, and then fixtures aren't run.

On Friday, May 2, 2014 11:05:56 AM UTC-7, Karsten Schmidt wrote:
>
> You can use the `testing` macro and wrap it in a function, which accepts 
> your type/protocol implementation or even individual protocol methods as 
> args. Example here:
>
> https://github.com/thi-ng/geom/blob/master/test/core.org#callable-contexts
> On 2 May 2014 18:08, "Brian Craft" <craft...@gmail.com <javascript:>> 
> wrote:
>
>> Thanks. I did something similar. I have different implementations per db, 
>> so use a global *db* var:
>>
>> (ct/deftest run-tests
>>   (matrix1)) ; matrix1 tests against *db*
>>
>> (ct/deftest test-h2
>>   (binding [*db* (h2/create-db2 "test" {:subprotocol "h2:mem"})]
>>     (run-tests)))
>>
>> (defn test-ns-hook []
>>   (test-h2))
>>
>> Clumsy, but seems to be the only option.
>>
>> On Friday, May 2, 2014 8:29:23 AM UTC-7, Chris Price wrote:
>>>
>>> I have been curious about this too.  I was playing around with it a few 
>>> weeks ago and came up with this:
>>>
>>> https://github.com/cprice404/clj-shared-test-sandbox/blob/
>>> master/test/shared_tests_foo/core_test.clj
>>>
>>> Which is pretty gross; it uses `binding` + a dynamic var in the shared 
>>> test namespace, and then it calls `clojure.test/run-tests` from inside of a 
>>> `deftest`.  I'm sure there's got to be a better way, but that was as far as 
>>> I got in the small amount of time that I was able to spend on it.
>>>
>>> On Thursday, May 1, 2014 5:58:51 PM UTC-7, Brian Craft wrote:
>>>>
>>>> I have a number of tests that I would like to run against different 
>>>> implementations of a protocol. In clojure.test there doesn't appear to be 
>>>> a 
>>>> way to parameterize a test over the implementations. Is there a good way 
>>>> to 
>>>> do this?
>>>>
>>>  -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to clojure+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to