Maybe it's offtopic but I wonder whether this could be useful in JS testing (DOM or not DOM) : http://www.phantomjs.org/
-Fabio On Mon, Aug 8, 2011 at 7:55 PM, Jerome Velociter <[email protected]> wrote: > 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 > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

