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

Reply via email to