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 and to look > into the tools you've published.
BTW, have you looked into wro4j http://code.google.com/p/wro4j/ ? It looks it has interesting features for packaging web resources Jerome > > 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

