2 cents, I don't see the value in mixing and matching lower-level
constructs between test frameworks, which also sounds hard.  I see a lot of
value in what the SPEC provides, standardized test-reporting, metadata and
runner infra. This makes tooling's life easier, and would ease the burden
of using multiple test frameworks in a single project.

Maybe it makes sense to separate out the 'common testing interop' effort
from the 'another test framework' effort, so it can can get off the ground?


On Tue, Jun 11, 2013 at 4:09 PM, Steven Degutis <sbdegu...@gmail.com> wrote:

> One of the goals is to create extensions that mimic each existing
> test-lib, so that migrating to test2 just means changing your :requires.
>
> But there are some tricky spots:
>
> 1. I don't fully understand how clojure.test's fixtures plays into its
> ability to call test functions from within other test functions.
>
> This probably just requires lots of experimenting and taking extensive
> notes. Tedious but possible.
>
>
> 2. clojure.test's once-fixtures can't be done with the current incarnation
> of the SPEC.
>
> We may be able to add a simple special-case to the Runner and Test-fn
> portion of the spec to make it work.
>
> I'm just worried about being too biased toward clojure.test in this, and
> hard-coding something into the spec that no other extension will ever
> need/want.
>
>
> 3. Midje has the ability to use the infix => anywhere any number of times
> within (fact), which means we can't implement (fact) as a simple
> macro/function.
>
> We can probably just do whatever Midje itself does to make this work.
>
>
> 4. Both Expectations and Midje allow making assertions at the top-level,
> but the spec only lets them exist within a test-fn's execution.
>
> A possible solution is to make (expect) and (fact) have two roles: the
> assertion, as well as conditionally def'ing vars if they aren't already
> inside one.
>
> Another solution is to change the spec to allow making assertions anywhere
> at any time. Several people expressed concerns about the undue complexity
> this would add, and I agree.
>
>
>
> On Sat, Jun 8, 2013 at 10:14 AM, Steven Degutis <sbdegu...@gmail.com>wrote:
>
>> Test2 is a new testing lib for Clojure, where the power is its
>> simplicity, extensibility, and a 
>> SPEC<https://github.com/evanescence/test2/blob/master/SPEC.md> much
>> like Ring's.
>>
>> Github: https://github.com/evanescence/test2
>>
>> Some background: It came out of 
>> discussions<https://github.com/evanescence/test2/wiki/Communal-Brainstorming>
>>  with
>> the smart folks in #clojure, who were frustrated with the inflexibility of
>> existing libs, and intended this to be the spiritual successor to
>> clojure.test. We wanted something that was still simple like clojure.test,
>> but could be extended externally much more easily in case you wanted
>> features found in clojure.test, Midje, Speclj, or Expectations, or whatever
>> else.
>>
>> This is a pre-ANN because it's more of a call for extensions. I've
>> written one last night, 
>> test2-autorunner<https://github.com/evanescence/test2-autorunner>,
>> which took about an hour. This should give some idea of how easy it is and
>> how well-designed the SPEC was by the smart folks of #clojure. There are
>> some ideas at the bottom of the wiki, but of course any extensions are
>> encouraged.
>>
>> -Steven
>>
>> --
>> --
>> 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/groups/opt_out.
>>
>>
>>
>
>  --
> --
> 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/groups/opt_out.
>
>
>

-- 
-- 
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/groups/opt_out.


Reply via email to