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

Reply via email to