On Sat, Aug 6, 2011 at 3:41 PM, Jerome Velociter <[email protected]> wrote: > On Fri, Aug 5, 2011 at 11:06 PM, Jerome Velociter <[email protected]> wrote: >> Hi Denis, >> >> On Fri, Aug 5, 2011 at 10:54 PM, Denis Gervalle <[email protected]> wrote: >>> Hi Jerome, >>> >>> I feel sorry that you have not ask earlier. I have been involved with >>> Javascript development for a while now, and since we have a large code base >>> in JS, I have had to find a good development workflow, and I want it to be >>> maven based. Hopelessly, I have not found what I really wanted and I had >>> finally written my own based on existing pieces I have found. >>> >>> Javascript Maven Tools (http://mojo.codehaus.org/javascript-maven-tools/) >>> was the best maven integration I found, but unfinished, with some issues and >>> limitations, and using a junit like testing that is not really smart for >>> javascript IMHO. So I have searched for better javascript testing frameworks >>> and the RSpec-style JavaScript DSL used by screw-unit have catch me, but I >>> have finally used its latest incarnation, which is called Jasmine ( >>> http://pivotal.github.com/jasmine/). >>> >>> In screw-unit, I really dislike the JQuery dependency (especially since I >>> use a prototypejs based framework), and the storage of test results in DOM >>> elements. This works great in a browser, but it completely disallow headless >>> testing and could fails simply due to DOM issue unrelated with your own >>> test. Jasmine was written by the same guys who have written screw-unit, with >>> these issues in mind. Jasmine does not have any unnecessary dependency. If >>> what you are testing is not DOM related, you do not need a DOM for your >>> test. >> >> That sound great. >> >> Personally I don't think we should have DOM related tests as JS tests. >> Or maybe running directly in XWiki with the full DOM, but indeed >> anything in-between sounds off. >> >>>It also provide the best I have found to test asynchronous behaviors >>> with simplicity. And for maven integration you have the Jasmine Maven Plugin >>> (http://searls.github.com/jasmine-maven-plugin/). >>> >>> For a complete JS workflow, I have merged the javascript-maven-tool and the >>> jasmine-maven-plugin (which has evolved afterward). What my implementation >>> basically provide, is a really full JS dependency management using maven for >>> both packaging and testing. The plugins use htmlunit to provided different >>> kind of browser environment, allowing tests to be done in each of them. >>> There are still some area to improve and documentation has to be written, >>> but I use it already for several project that could be taken as example. You >>> could find tools on github: >>> https://github.com/softec/javascript-maven-toolsand some usages in our >>> other repositories. >> >> Cool, I will look in to that. >> >>> >>> I really do not like the idea of starting now something based on screw-unit, >>> since Jasmine is the evolution of screw-unit, I see no reason to continue >>> using screw-unit now, so I am currently -1 for it. At least, I would suggest >>> to use Jasmine, and its maven plugin, you have my +1 for that. If you want >>> more, I would be obviously pleased to help you using my own >>> maven-javascript-tools. >> >> No problem moving the tests to Jasmine as a first step > > Done : > https://github.com/xwiki/xwiki-platform/commit/9124b76ab31971379817e8782fe2363080fa2194
Just FYI : merged in master. Jerome > > If you want to look at the directory structure and tell me what you > think (basically I've set it up so that jasmine tests go into > src/test/javascript/spec/) > > Jerome. > >>and to look >> into the tools you've published. >> >> Jerome >> >>> >>> Denis >>> >>> On Fri, Aug 5, 2011 at 20:27, Roman Muntyanu >>> <[email protected]>wrote: >>> >>>> Sorry for jumping into dev's discussion and for the off-topic, just can't >>>> stand the desire :) >>>> >>>> >>* The result page kind of look nice (yes, that count!) >>>> When I was looking for a wiki, this was reason number one - and that's how >>>> XWiki won. Guess it's all about the look and the feel >>>> >>>> -----Original Message----- >>>> From: [email protected] [mailto:[email protected]] On Behalf Of >>>> Jerome Velociter >>>> Sent: Friday, August 05, 2011 19:55 PM >>>> To: XWiki Developers >>>> Subject: [xwiki-devs] JavaScript unit tests >>>> >>>> Hello devs, >>>> >>>> I've pushed some javascript tests for the suggest widget to a branch of >>>> xwiki-platform. >>>> >>>> I've used screw-unit (https://github.com/nathansobo/screw-unit) as test >>>> framework. >>>> >>>> The system allow to write tests such as >>>> >>>> https://github.com/xwiki/xwiki-platform/blob/f684ca0671a354f1e7476cd788a2df89074a188f/xwiki-platform-core/xwiki-platform-web/src/test/javascript/spec_suggest.js >>>> ; and to run them in a test suite (a simple HTML page that runs all tests). >>>> It is integrated with xwiki-platform-web build so that whenever a test >>>> fails, the build fails. >>>> >>>> To be completely honest, I didn't do a lengthy market research to see if >>>> there would be more appropriate alternatives. Screw unit got my attention >>>> for the following reasons : >>>> * Tests are elegant and simple >>>> * You can nest feature "descriptions" (specifications) down several levels, >>>> so it's easy to have a good organization >>>> * It has a working maven integration >>>> * The result page kind of look nice (yes, that count!) >>>> >>>> I'd like to integrate them in master >>>> >>>> WDYT ? >>>> >>>> My +1 >>>> >>>> Jerome. >>>> _______________________________________________ >>>> devs mailing list >>>> [email protected] >>>> http://lists.xwiki.org/mailman/listinfo/devs >>>> _______________________________________________ >>>> devs mailing list >>>> [email protected] >>>> http://lists.xwiki.org/mailman/listinfo/devs >>>> >>> >>> >>> >>> -- >>> Denis Gervalle >>> SOFTEC sa - CEO >>> eGuilde sarl - CTO >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >>> >> > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

