On Sun, Jun 9, 2013 at 11:07 AM, Steven Degutis <sbdegu...@gmail.com> wrote: > We realized we can't change clojure.test because (1) this would break > backwards compatibility, and (2) clojure.test is really slow-moving since it > lives inside Clojure.
Are there any JIRA tickets open against clojure.test? That would seem to be a good place to start. There seem to be just three against clojure.test: CLJ-840 Add a way to access the current test var in :each fixtures for clojure.test CLJ-866 Provide a clojure.test function to run a single test case with fixtures CLJ-1209 Teach clojure.test reporting about ex-info/ex-data Sounds like CLJ-866 was covered in the discussions around test2 - not sure about the others? If someone (with a signed CA on file) wants to step up and maintain clojure.test, even tho' it's part of core Clojure right now, I expect a way to move forward with that could be found? Perhaps adding test.core as a new contrib library as a copy of clojure.test and deprecating clojure.test? But there is of course the basic question of whether a testing framework should be part of Clojure itself (as it is now) vs a contrib library (as test.generative is now) vs a third party library (as Midje, Expectations, Conjecture and others are right now). > This is when we realized that, if done right, test2 could be flexible enough > where Midje/Speclj/Expectations could be re-written as extensions to test2. I don't know whether a "core" testing library would offer enough commonality that those frameworks' authors would consider a rewrite to depend on a separate testing library worthwhile? Perhaps if it was a Clojure contrib library they might? > You're suggesting we should have started with your lib and proposed changes. I don't think that's what Jay is saying. I certainly didn't interpret his post that way. I think all he was saying - and I think all Brian is saying about Midje - is that people aren't asking them for the kind of extension points etc that you seem to want for test2. Personally, I think Midje is too complicated for my needs - but it's certainly very slick - so although I've looked at it a couple of times, I've never felt like adopting it. At World Singles, we started out with clojure.test by default and just over a year ago converted our entire test suite to Expectations instead because it's simpler and cleaner and much, much easier to read than clojure.test. We since wrote a whole bunch of tests based on clj-webdriver to replace some Selenium (HTML-based) tests and clojure.test is a better fit there so we've started using it again, just for that. [specifically, our webdriver tests tend to be "do a bunch of browser stuff", "assert some conditions with `is`", "do more browser stuff", "assert more stuff", "click around some more", "assert some more", etc] Is there room for another testing framework? Certainly. Could clojure.test be improved? Definitely. Is there some standalone infrastructure that all testing frameworks could be based on? Maybe. Is that compelling enough that other testing framework authors would rewrite their libraries in terms of some common infrastructure? Given their existing libraries work just fine - and there are Emacs modes and auto runners for them already - I'm very skeptical. On the other hand, there are definitely compelling tools that would benefit from a common data structure for test run reports: displaying results / failures to the console, feeding to JUnit HTML report formatters (where current frameworks are pretty weak), supporting a standard way to display red/green results in editors and IDEs (again, existing frameworks are weak here). My point is that folks either use clojure.test (and may grumble a bit about its shortcomings - but not much based on how few JIRA tickets exist) or they switch to a third party framework they prefer - but across the board tooling is the weak spot (IMO). So I wouldn't spend much time on the test machinery itself and the API that test2 exposes since that's all very subjective - but I think the test result SPEC is potentially very fruitful and could benefit all the frameworks... -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ World Singles, LLC. -- http://worldsingles.com/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880) -- -- 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.