On Sat, Aug 6, 2011 at 15:21, 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 and to look > > into the tools you've published. > > BTW, have you looked into wro4j http://code.google.com/p/wro4j/ ? > It is more an "on the fly" optimizer than a build optimizer. My goals in using and adapting the javascript-maven-tool, is mainly the ability to manage and store javascript dependancies in the same maner I do for java ones. That said, wro4j seems interesting to investigate for skinx stuffs. Denis 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 > -- Denis Gervalle SOFTEC sa - CEO eGuilde sarl - CTO _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

