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 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

